Проверил программу в железе работает.
Сообщение от oleg_harp
|
Давайте проект или часть. Вместе веселей!
|
Высылаю на суд форума часть проэкта.
Было замечено что количество сбоев меняетя от частоты SPI и длительности высокого уровня сигнала (CS) памяти, после передачи команды управления и до начала передачи адреса.
Просмотрел даташиты несколько похожих микросхем памяти и увидел, что команды ЧТЕНИЕ, ЗАПИСЬ, РАЗРЕШЕНИЕ ЗАПИСИ, ЗАПРЕТ ЗАПИСИ у всех микросхем одинаковые, а команды управления стиранием у всех разные.
Сообщение от TEHb
|
В большинстве случаев когда всё глючит виноваты разрешенные но необрабатываемые прерывания.
|
Прерывания запрещены.
Сообщение от Easyrider83
|
Или не обнуленные переменные!
|
Ошибок не нашел.
И еще возможно это не касается даной темы, нашел одну вещь в асемблере ATMEGA32.
Команда асемблера (сложения регистровой пары с константой) ADIW yh:yl,1 и команда
ADIW yl,1 выполняются по разному в Протеусе. Если в команде указана регистровая пара все правильно, а если только младший регистр с пары то команда работает только с ним. При компиляции ошибка не выдается. В железе не проверял.