Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Воскресенье
18 мая
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
660774
Топик полностью
VL
(17.03.2016 11:51, просмотров: 1)
ответил
SciFi
на
Вот такой теоретицкий вопрос. Есть UART и программный FIFO на передачу (через прерывания). Нужно ли массив, в котором сидит этот FIFO, объявлять как volatile?
практический ответ
extern char tx_buf0[TxBufSize0]; extern unsigned char tx_head0; extern unsigned char tx_tail0; #pragma inline=forced void SendByteFromBuffer0(void) { char d; if (IFG1 & UTXIFG0) { if (!(tx_tail0==tx_head0)) { d=tx_buf0[tx_tail0]; tx_tail0++; if (tx_tail0==TxBufSize0) tx_tail0=0; TXBUF0 = d; // if ((bIrda==1)|(bIrda==2)) SendByteViaIrda(d); } } }