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

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

Отправлено Lexandro 05 октября 2005 г. 18:34
В ответ на: Как в IAR в режиме симулятора заставить срабатывать прерывание по UART? отправлено <font color=gray>Lexandro</font> 05 октября 2005 г. 18:03

Проц MSP430F149. 8мгц. УАРТ на 115200. Есть программный буфер на 256 байт. Когда начинаю непрерывно слать данные, в какой-то момент (всегда разный) передача останавливается, не дойдя до конца.
Вот код:

void rsPutByte(BYTE byte)
{

while( ucTXCharCount==(TXBUFSIZE-1) ); // buffer full

ucTXBuffer[ucTXWriteIndex++] = byte; // load byte to buffer and inc index
ucTXWriteIndex &= TXBUFSIZE-1; // adjust index to borders of buffer
ucTXCharCount++; // new char, inc count
IE2 |= UTXIE1; // Enable USART1 TX interrupt
}


#pragma vector = UART1TX_VECTOR
__interrupt void usart1_tx(void)
{
_EINT();
TXBUF1 = ucTXBuffer[ucTXReadIndex++]; // load tx register, inc index
ucTXReadIndex &= TXBUFSIZE - 1; // adjust index
ucTXCharCount--; // char sent, dec count
if( ucTXCharCount == 0 ) IE2 &= ~UTXIE1; // Disable USART1 TX interrupt

}

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru