Обсуждаем контроллеры компании Atmel.
Ответить

Помогите разобратся с Eclipse

Чт мар 30, 2023 19:35:04

Всем доброго времени суток! Пишу небольшой конфигуратор для PLL на 5 ггц. Раньше стояла AVR Studio и несколько проэктов было написано на ней.
Но уже давно не пользуюсь виндой да и программирование подзабросил, а теперь вот понадобилось. Установил Eclipse по одному из многих мануалов в инете и столкнулся с несколькими глюками.
Камень тини24.
Глюк первый.

unsigned char Fixed = 0;
unsigned char t = 0;

#define PA_Enable 2

while (Fixed == 0){
_delay_ms(200);
t = t + 1;
if (t > 24){
t = 0;
PORTB ^= (1 << PA_Enable);
}
}
На порту PORTB.2 висит светик для наглядности.
По какой то непонятной мне причине переменная t увеличивается только до значения 4, то есть если в условии написать if (t > 4){ , то светик мигает как и положено а если число больше 4 то нет.

Второй глюк связан с таймерами и прерываниями. Сконфигурировал TIMER1 чтоб получать стабильные тики в 1 секунду дабы не юзать delay. Но Eclipse ругается на то что не может срезолвить название регистра TIMSK1
и к тому же не знаю как правильно прописать прерывание для конкретного камня на переполнение TIMER1.

Если кто-то пишет в среде Eclipse и сможет помочь буду очень благодарен.
Заранее спасибо.

UPD. С первым глюком стало что-то вырисовыватся. Если уменьшить время задкржки до 10ms то все рабртает, счет доходит до 24 и обнуляется. А вот с таймерами что-то не получается пока.

Re: Помогите разобратся с Eclipse

Пт мар 31, 2023 02:07:12

У вас Linux? make пользоваться умеете? Makefile составить сможете? Бросайте Эклипс, ни одни из ваших вопросов не связан с этой IDE.

Re: Помогите разобратся с Eclipse

Пт мар 31, 2023 13:40:02

Да у меня линукс, make пользоватся умею но на вы. С проблемой кстати разобрался, забыл указать header файл с прерываниями.
5 лет уже не кодил, приходится все вспоминать заново.
С Eklipse ну как и с другими IDE, удобно то что в одной проге написал скомпилил залил и можно проверять.
Если есть что-то проще и удобнее с удовольствием приму к сведению.
Ответить