Народ! помогите пожалуйста, программирую микроконвертор ADUC 812, мне надо чтобы моя программа опрашивала датчики 2 раза в милисекунду (1/2048с) фильтровала и обрабатывала эти данные; и 1 раз в 2 милисекунды (1/512с) отправляла посылку по UART-у, посылка должна состоять из двух байт, между ними должна быть пауза 140 мкс , после двух байт должна быть большая пауза, более 1 мс. Вопрос такой: как бы вы рекомендовали организовать структуру такой программы. нужны ли, желательны ли здесь прерывания? мне вот думалось что прощще всего сделать программу длительнось цикла которой, будет неизменно 1 мс, и программа будет в каждом цикле дважды опрашивать датчики, и каждый второй цикл ещё и передаавать всё это на УАРТ. Но что то у меня не очень получается... Я подозреваю что такой подход может быть в корне неверным. считать время должны таймеры, чтобы необходимые события (считывание и выдача) происходили вовремя, а во всё остальное время программа должна фильтровать и обрабатывать данные, так, и только так? непонятно как справиться тогда двумя прерываниями по таймерам, с такой задачкой..
Сообщение отредактировал Alexey T - Aug 26 2010, 13:04
|