Модели
Arduino в
Proteus появились уже довольно-таки давно... где-то с версии 7.6 ... 7.7 или даже раньше.
Основаны они были на
avr2.dll, ну различные глюки в них имели место быть.
Я тоже как-то делал на них проект с шахматами и помучиться мне пришлось.
По ряду причин я вновь к моделям
Arduino обратился с целью выяснить насколько корректно они обрабатывают
аппаратные прерывания. Не все модели микроконтроллеров в
Proteus умеют это делать корректно...
И вот тут выяснилось, что автор моделей
Arduino в
Proteus свои модели обновил!
Arduino Library for Proteus V2.0.А также добавил к собственным моделям ряд демонстрационных проектов:
Arduino Projects - The Engineering ProjectsАвтор обещает, что новые модели стали более быстрыми (хотя в основе их всё та же
avr2.dll).
Но вроде как он ушел от схематической модели
Arduino и переписал всё на чистом
С++ ...
Я скачал - попробовал модель
Arduino Nano... что сказать, существенного приращения прямо-таки
сильно - не отметил.
Тем паче, на мой взгляд, автор перегружает свои модели графикой, а это тормозит симуляцию в
Proteus.
Я и его старые-то модели перекомпилировал в своё время, почистив от излишней графики:
Ну а что касается прерываний, которые меня интересовали, и на старой и на новой моделях
Arduino NanoINT0 и
INT1 вроде как работают вполне корректно...
Демонстрационный скетч обработки прерываний Весьма толковое описание работы с прерываниями в среде
Arduino есть здесь:
Прерывания в Ардуино. Часть 1Прерывания в Ардуино. Часть 2Если кто этим всем интересуется, может понадобиться
Техническое руководство ATmega328/Р -
лежит здесь:
https://static.chipdip.ru/lib/549/DOC001549488.pdf