Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
жаба сопротивляется, дышит жабрами! :)
сейчас у меня есть множество точек, в которых я использую таймауты 3-4mS, отказываться - не хочу.
по UART
допустим, скорость UART = 115200
Значит прерывание от него будет возникать 115200/10 = 11520 раз/сек
или каждую 0,1mS Справедливо?
При тактовой 11.0592 мне необходимо в рамках каждых 1000тактов делать прерывание на прием символа, войти в прерывание, сохранить весь контекст, ... Предположим, что его обработка займет 350 тактов (как таймера) Получается, что я должен из каждой 1000 тактов минимум 350 выделить на обработку UART
Учитывая, что используются прерывания
UART (350 тактов из 1000)
таймер 1mS (350 тактов из 10000)
TWI (0,1mS (350 тактов из 1000)
Захват таймера (350 тактов из 10000)
АЦП 15КГц (350 тактов из 1000)
INT0, INT1 (350 тактов в случайные моменты времени)
может быть что-то я еще забыл
получается что система периодически находится вне ресурса, информация попросту теряется :)
Без столь длинного переключения контекста удается удерживаться в рамках и иметь солидный запас.
жаба хрипит, но не сдается :)
Составить ответ | Вернуться на конференцию
Ответы