Здравствуйте!
Программа откомпилирована в IAR C 6.40. Используются оба UART, кооперативная многозадачность. Одним словом, источников для неприятностей масса.
Механизм кооперативной многозадачности хорошо отработан. Его использую давно и без проблем. Неприятность возникла, как обычно там, где её не ждал.
Когда производится запись числа в EEPROM, программа дурит. Когда записывал 32-разрядное long int, то программа зависала. Когда процесс разбил на части
(пишу побайтно), зависать перестала, но некоторая дурь сохранилась. Вроде бы не может ничего такого сделать процесс запись в EEPROM. Самое худшее,
что он делает - тормозит программу, сканируя бит готовности EEPROM. Сетую на то, что один UART работает в режиме пассивного слушателя, а не в режиме
запроc / ответ. Можно предположить, что за время записи в EEPROM в буфер UART накидали что-то, сбилась синхронизация... Может быть у кого-то есть
ещё соображения на этот счёт? А ещё, может быть, у кого-то есть фрагмент кода, который позволяет производить запись в EEPROM, с использованием
прерывания, вместо сканирования бита готовности?
Заранее благодарен!