- Вложения
-
- LCD Time.rar
- Часы LCD
- (46.2 КБ) 351 скачивание
CodeVision AVR в вопросах и ответах
Здравствуйте! Собрал тут я часы на LCD, и хотел бы задать вопрос почему в программе(приложил файлы) нормально не работают прерывания??Я думаю из-за дребезга но тогда вопрос как его устранить в asm -e то знаю как а тут вот не понятно??Программа элементарная, знаний в CVAVR да и в СИ в целом немного поэтому просьба за огрехи не кидаться камнями
! Приложил проект в CVAVR и файлы Proteus! Не удивляйтесь что временные задержки делал через Deley а не через прерывания по таймеру, точность мне пока не нужна.
IN GOD WE TRUST
- Реклама
А вы в симуляторе проверьте - в нем нет дребезга и видно что в регистрах МК находится - вот и узнаете почему прерывания не работают. Проверьте выполнены ли условия для работы прерываний - "Прерывания в AVR" это стр. 3 в моей домашней.Степаныч писал(а): не работают прерывания ?? Я думаю из-за дребезга но тогда вопрос как его устранить в CVAVR
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
А почему так?
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
min--;
}
// External Interrupt 1 service routine
interrupt [EXT_INT1] void ext_int1_isr(void)
{
min++;
}
Я так понимаю, что "External Interrupt" - это внешние прерывания, а у вас их нет. Только внутренние.
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
min--;
}
// External Interrupt 1 service routine
interrupt [EXT_INT1] void ext_int1_isr(void)
{
min++;
}
Я так понимаю, что "External Interrupt" - это внешние прерывания, а у вас их нет. Только внутренние.
Это какие же ?Igor_67 писал(а):Только внутренние.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Реклама
Врядли. У меня в домашней только на CVAVR 2.03.4Igor_67 писал(а): у кого нить есть пилюлька для CVAVR 2.03.8?
Но я рекомендую использовать CVAVR 1.29.5
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Нет.Igor_67 писал(а):Он с XMega умеет работать?tych писал(а): я рекомендую использовать CVAVR 1.29.5
все в начале моей домашней странички.Igor_67 писал(а):Если не трудно дайте ссылку пожалуйста. И таблетку от жадности хотелось бы
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Сообщения: 18
- Зарегистрирован: Сб июл 05, 2008 13:21:59
- Сообщения: 41
- Зарегистрирован: Вс ноя 02, 2008 13:19:55
Самое простое - переставить свежую версию.
Оптимизм х (Опыт + Знания) = const
- Сообщения: 238
- Зарегистрирован: Вт май 27, 2008 23:23:24
Все привет! Народ помогите разобраться, не как не могу прошить микроконтроллер Atmega8.
Шью я его вот с этими настройками, ниже программа которую я пытаюсь зашить.
Что я делаю не так у меня при программирование появляются сообщение, и когда они появляются я жму No, и после этого продолжается программирование.
Помогите разобраться, а то не как не могу понять в чём тут дело.

Всем спасибо за помощь! Программатор на 5 проводках.
Шью я его вот с этими настройками, ниже программа которую я пытаюсь зашить.
Код: Выделить всё
#include <mega8> //Включаем библиотеку для работы с микроконтроллером ATMega8
#include <delay> //Включаем библиотеку для организации задержек
void main(void)
{
PORTD=0x00; //Выставляем все выходы порта D на 0, то есть, выключаем весь порт D
DDRD=0xFF; //Делаем порт D, как выход, чтобы на выходах порта было напряжение 5В
while (1) //Организовываем бесконечный цикл
{
PORTD.0=1; //Включаем светодиод на 0 выходе порта D
delay_ms(500); //Делаем задержку на 500 миллисекунд
PORTD.0=0; //Выключаем светодиод на 0 выходе порта D
delay_ms(500); //Делаем задержку на 500 миллисекунд
};
}
Помогите разобраться, а то не как не могу понять в чём тут дело.

Всем спасибо за помощь! Программатор на 5 проводках.
- Сообщения: 173
- Зарегистрирован: Чт мар 20, 2008 20:33:43
Такое впечатление, что вы не загрузили саму прошивку в File - Load Flash, а пытаетесь прошить тем, чего нет, возможно предполагая, что прошивка пропишется автоматически из проекта. Кроме того если вам не нужно писать EEPROM, то приписываейте командой Program - FLASH.
- Сообщения: 238
- Зарегистрирован: Вт май 27, 2008 23:23:24
To delay
Спасибо вам за помощь! Славу богу разобрался=)
To All
Вот написал первую программку сам и она не работает, пишет что 4 ошибки.
Подскажите пожалуйста что в ней не так.
Строки в которых возникает ошибка подписаны комментариями.
Спасибо вам за помощь! Славу богу разобрался=)
To All
Вот написал первую программку сам и она не работает, пишет что 4 ошибки.
Подскажите пожалуйста что в ней не так.
Строки в которых возникает ошибка подписаны комментариями.
Код: Выделить всё
#include <mega8>
#include <delay>
int main(void) {
DDRD = 0xbf;
PORTD |= BV(PD2); // тут первая ошибка
while (1)
{
PORTD |= BV(PD0);
delay_ms(500);
PORTD &= ~BV(PD0); // тут вторая ошибка
delay_ms(500);
If (PIND1 ==1) { break;} // тут третья ошибка
};
} // тут четвёртая ошибка
Код: Выделить всё
#include <mega8>
#include <delay>
int main(void) {
DDRD = 0xbf;
PORTD |= BV(PD2); // тут первая ошибка
while (1)
{
PORTD |= BV(PD0);
delay_ms(500);
PORTD &= ~BV(PD0); // тут вторая ошибка
delay_ms(500);
If (PIND1 ==1) { break;} // тут третья ошибка
};
} // тут четвёртая ошибка
3я ошибка - "PIND1" замените на "PIND.1"
4ая ошибка - что в ней? вроде количество "открытий"/"закрытий" совпадает.
- Сообщения: 238
- Зарегистрирован: Вт май 27, 2008 23:23:24
Сейчас вроде правильно, но компилятор выкидывает три ошибки.
Чего то я не понимаю.
Что это значит? Помогите пожалуйста!
Чего то я не понимаю.
Код: Выделить всё
#include <mega8>
#include <delay>
int main(void) { //Ошибка The “main” function must return
DDRD = 0xbf;
PORTD.2=1;
while (1)
{
PORTD.0=1;
delay_ms(500);
PORTD.0=0;
delay_ms(500);
If (PIND.1) { break;}; // Ошибка Undefined symbol “If”
};
} //Ошибка Declaration syntax error
вы бы тогда уж приводили полный текст ошибок, как компилятор их выдает... в вообще-то в Си If и if - 2 большие разницы!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 16
- Зарегистрирован: Пн янв 21, 2008 20:21:02
в CVAVR функция main должна иметь тип void тоесть void main(void)Sounds писал(а): int main(void) { //Ошибка The “main” function must return


