МИКРОКОНТРОЛЛЕР AVR - МИКРОКОНТРОЛЛЕР AVR

Единственной значительной проблемой, с которой я столкнулся при написании этой программы, была необходимость следить за допустимым уровнем вложения подпрограмм. Как я упоминал в начале этого раздела, у меня возникли некоторые проблемы с надежностью работы отдельных программ, которые были связаны с отсутствием у меня опыта работы с микроконтроллерами, которые имеют стек, содержащий всего три позиции. Когда вы рассмотрите исходный код моей программы, то увидите, что первоначально в ней широко использовались вызовы подпрограмм, которые, в основном, обеспечивали реализацию задержек и вывод десятичных цифр на жидкокристаллический дисплей. Когда я в первый раз запустил эту программу, то увидел, что она содержит много ошибок: неправильные символы выводились в неправильных позициях на экране ЖКИ. Когда я более внимательно рассмотрел код программы, то понял, что, скорее всего, происходит переполнение стека. Чтобы исправить это, пришлось запретить вызов вложенных подпрограмм. Это изменение устранило все проблемы с неправильным выводом символов на ЖКИ.

Однако это не решило проблем с ложными сбросами микроконтроллера. Данная проблема была решена путем замены контроллера на другой образец AVR1200. Образец, который я первоначально использовал, относился к очень ранним партиям выпуска, поэтому не удивительно, что при его использовании возникли некоторые проблемы.

Go to Top