[an error occurred while processing this directive]
Совет.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено rezident 05 октября 2005 г. 19:00
В ответ на: Вообще проблема такая: отправлено <font color=gray>Lexandro</font> 05 октября 2005 г. 18:34

Рекомендуется индекс и счетчик буфера писать одной командой. Иначе вложенные прерывания (а они у вас возможны, т.к. находясь внутри прерывания вы разрешаете их) могут вызвать проблемы с индексацией или счетом байтов. Заведите одну двухбайтовую переменную у которой один байт будет индексом, а второй счетчиком. Благо размер буфера (256 байт) позвляет иметь однобайтовый индекс и однобайтовый счетчик.
И еще, мне не понятна команда
ucTXReadIndex &= TXBUFSIZE - 1; // adjust index
если у вас буфер кольцевой, то зачем она нужна? Значение TXBUFSIZE видимо равно 256? По-моему когда значение счетчика равно нулю, то просто оба индекса надо в начало буфера устанавливать.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru