Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Естественно, символы получайте по прерыванию и в обработчике складывайте их в буфер приемника
Отправлено
Igor_Koval
(95.132.97.43)
12 апреля 2010, г. 14:13
В ответ на:
После получения этого символа в фоновом процессе (не в обработчике !) запрещайте прерывание от UART и разбирайте строку ...
отправлено Igor_Koval 12 апреля 2010, г. 14:12
Составить ответ
|
Вернуться на конференцию
Ответы
Ответ: А почему символы нельзя складывать в буфер именно в обработчике? Ведь это удобно!
-
dshabrov
(12.04.2010, 14:15:51
84.21.231.242
,
пустое
)
Так я и написал, что надо складывать именно в обработчике !
-
Igor_Koval
(12.04.2010, 14:21:49
95.132.97.43
,
пустое
)
Блин, опять я не в терминах. У меня символы принимаются, анализируется и складываются в буфер прямо в фоновом процессе.
-
dshabrov
(12.04.2010, 14:28:50
84.21.231.242
, 532 байт)
Так делать (+)
-
Igor_Koval
(12.04.2010, 14:32:55
95.132.97.43
, 409 байт)
Ответ: В сильно загруженой системе возможен тогда прием мусора в буфер после символа 0xA. Логично запрещать прием после принятия символа окончания именно в прерывании. Или я не прав?
-
dshabrov
(12.04.2010, 14:37:28
84.21.231.242
,
пустое
)
Ну и что ?
-
Igor_Koval
(12.04.2010, 14:48:24
95.132.97.43
, 549 байт)
Беда в том, что буфер конечен. И как заложено в требованиях при приеме больше 10 символов счетчик обнуляется и буфер пишется заново. Поэтому и требуется запрещать прием.
-
dshabrov
(12.04.2010, 14:54:12
84.21.231.242
,
пустое
)
Не делайте 10 байт, сделайте 20 (+)
-
Igor_Koval
(12.04.2010, 15:00:53
95.132.97.43
, 705 байт)
Да, блин. А в С51 это делается командой RI=0. Кому - то за такой регресс нужно руки оторвать...
-
dshabrov
(12.04.2010, 15:11:35
84.21.231.242
,
пустое
)
Ответ: Наврал! REN = 0
-
dshabrov
(12.04.2010, 15:13:50
84.21.231.242
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 90:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru