здравствуйте, я делаю небольшое устройство, которое просто должно мигать диодами, я успешно прошил его - работает, но не все мигает так, как мной было задумано. Что бы найти ошибку в программе хочу воспользоваться программным продуктом proteus, в котором я собрал схему. Но к моему удивлению во время симуляции вообще ничего не мигает. Прошу вашего совета.
В приложении сишный код, hex и файлы протеуса.
Симуляция работы avr в proteus или как заставить мигать
- Реклама
Re: Симуляция работы avr в proteus или как заставить мигать
чтото много всего понаписано если просто мигать 3мя светодиодами одновременно/ подключить их всех к одному порту while(1) {PORTB=1; delay_ms(200); PORTB=0;};
Re: Симуляция работы avr в proteus или как заставить мигать
Мигать не будет. Если так, то не хватает задержки после 0.Кинг писал(а):while(1) {PORTB=1; delay_ms(200); PORTB=0;};
Re: Симуляция работы avr в proteus или как заставить мигать
Это я привел схему для трех диодов, у меня их 14, а в программе 5 различных вариантов миганий, поэтому так много строчек. Факт в том, что в реальном микроконтроллере мигание происходит, а в протеусе нет
Re: Симуляция работы avr в proteus или как заставить мигать
А какой у Вас реальный контроллер? Прошивка не для ATMEGA48, или в ней есть ошибки (В Proteus ошибки вываливаются сотнями, у Вас не так или Вы их попросту игнорируете?). Если взять ATMEGA88 и навести элементарный порядок в схеме из 7 деталей, то что-то мигает (в суть миганий не вникал).BigED писал(а):Факт в том, что в реальном микроконтроллере мигание происходит, а в протеусе нет
- Вложения
-
- arh.zip
- (7.43 КБ) 208 скачиваний
- Реклама
Re: Симуляция работы avr в proteus или как заставить мигать
Спасибо, но я разобрался - причиной такого поведения стало то что протеус просто очень долго обрабатывал задержки - после уменьшения он стал мигать, хоть и не с реальной скоростью, но для отладки достаточной.
P.S. протеус ошибок не выдавал
P.S. протеус ошибок не выдавал
Re: Симуляция работы avr в proteus или как заставить мигать
И предупреждений не было? Вот они как раз и вываливаются по 100 и более штук в секунду и тормозят процесс вплоть до зависания программы. Когда все ok, то загрузка процессора (у меня) около 7%. Переключение светодиодов с периодом что-то около 3-4 сек. Так что еще раз проверьте правильно ли у Вас (в компиляторе) выбран МК или в прошивке есть кривизна, я не ковырялся.BigED писал(а):Спасибо, но я разобрался - причиной такого поведения стало то что протеус просто очень долго обрабатывал задержки - после уменьшения он стал мигать, хоть и не с реальной скоростью, но для отладки достаточной.
P.S. протеус ошибок не выдавал


