Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено -=John=- 13 декабря 2004 г. 17:18
В ответ на: Посоветуйте по USART в MSP, плз... отправлено Vladimir Ljaschko 13 декабря 2004 г. 14:25

Кроме странной строчки
if (d)
все остальное похоже. Может, вторым байтом 0 идет?
Вот работающий пример:


//--------------------------------
// Начало передачи блока
void UART_StartTransBlock ()
{
// бла бла бла - подготовка буфера
// Единственная хитрость - первый байт всегда FF и передается впрямую
U0TXBUF = 0xFF; // Первый байт пилот-тона
TXCount = 0;
// Разрешим прерывание приемника
IE1 |= UTXIE0;
} // UART_StartTransBlock

//--------------------------------
// Прерывание передатчика
#pragma vector = UART0TX_VECTOR
__interrupt void UART_TXInterrupt ( void )
{
// Обрабатываем и прерывание от посылки ПОСЛЕДНЕГО байта буфера
if ( TXCount >= TXBufLen ) // Блок передан полностью
{
// Запретим прерывание передатчика
IE1 &= ( ~UTXIE0 );
return;
}
U0TXBUF = TXBuf [ TXCount ];
TXCount++;
} // UART_TXInterrupt
<\pre>


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

Ответы



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

E-mail: info@telesys.ru