ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
162643
SVladimirU (01.08.2009 02:47, просмотров: 5250) MBedder
Здравствуйте. Есть задача: используя atmega8, принять по UARTу команду длиной в несколько байт (длина зависит от команды, не превышает 30..40 символов) и выполнить. У меня возникла мысль сначала ее сохранить, затем проанализировать и принять соответствующее решение. Сохранять решил было в EEPROM, но тут вычитал из даташита, что время записи байта в память составляет несколько мс (Minimum Wait Delay Before Writing the Next Flash or EEPROM Location: tWD_EEPROM 9.0 ms). При этом настройки UARTа меняться не должны: 19200 бит/с, асинхронный режим, без использования аппаратного контроля. В этой же таблице таймингов для программной Flash-памяти написано tWD_FLASH 4.5 ms. Выходит, что пока в память будет записываться первый байт, на UART придет вся остальная команда и просто потеряется... Или я что-то неправильно понял? Как мне поступить? Строго не судите, поскольку опыт работы с контроллерами составляет 4 дня...