Форум myROBOT.ru » Лаборатория » Микроконтроллеры » Не работает delay_ms() в Proteus

Страниц (1): [1]
 

1. Gordon Freemen - 01 Апреля, 2012 - 20:01:34 - перейти к сообщению
Здравствуйте! Сегодня отлаживал кое какой алгоритм (пишу на CodeVisionAVR), и вот при отладке в Протеусе, обнаруживается что МК просто стоит не чего не делая когда подходит к функций delay_ms()! Загрузил в прошивку в робота и чудо она работает!!!
Решил проверить где глюк и написал простую мигалку LED, что то подобное
CODE:

...
DDRC.0 = 0xFF;
PORTC.0 = 0x00;
while(1)
{
PORTC.0 = 0xFF;
delay_ms(1000);
// задержка будет работать если написать
//delay_us(10);
PORTC.0 = 0x00;
}
...


Опять МК при симуляций молчит, реальный МК мигает! В чем проблема?
2. mihail - 02 Апреля, 2012 - 00:21:12 - перейти к сообщению
Возможно все дело в различной скорости выполнения программы симулятором и реальным контроллером. В AVR Studio есть симулятор. Лучше чем atmel эти МК врядли кто знает.
3. Gordon Freemen - 02 Апреля, 2012 - 00:39:21 - перейти к сообщению
mihail пишет:
Возможно все дело в различной скорости выполнения программы симулятором и реальным контроллером. В AVR Studio есть симулятор. Лучше чем atmel эти МК врядли кто знает.

Это понятно... Только раньше все было нормально, а сейчас уже не работает. Atmel AVR Studio конечно хорош, только вот связь с другими устройствами организовать трудно...