Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Не делайте 10 байт, сделайте 20 (+)

Отправлено Igor_Koval (95.132.97.43) 12 апреля 2010, г. 15:00
В ответ на: Беда в том, что буфер конечен. И как заложено в требованиях при приеме больше 10 символов счетчик обнуляется и буфер пишется заново. Поэтому и требуется запрещать прием. отправлено dshabrov 12 апреля 2010, г. 14:54

И вообще, это все абстрактные умопостроения. Тысячу раз так делал, и никогда ничего не переполнялось. Ну сделайте буфер не 10 байт, а чуть побольше, в зависимости от загруженности фонового процесса, и все. Если очень хотите, то можете организовать прямо в обработчике цифровой автомат, который будет переходить в следующее состояние при приеме каждого очередного байта команды, а при приеме непредусмотренного символа - сбрасываться в исходное состояние. Тогда при получении последнего байта в обработчике сбрасывайте автомат в исходное состояние и устанавливайте флажок, сбросить который должен будет фоновый процесс, когда он до этого флажка доберется. Вариантов масса ...


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
отымите от 2 единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru