ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
41711 Топик полностью
Xanoy (17.10.2005 02:42, просмотров: 1) ответил Xanoy на Возникла проблема с перестройкой скорости UART на лету.
Большое спасибо за поддержку, заработало, код в студию: 
#pragma vector = USART0TX_VECTOR
__interrupt void DMX_tx (void)
{     switch ( tx.count)
        {
        case 0:
        while (!(U0TCTL&TXEPT));
        U0BR0  = (u08)N_UBR;                  
        U0TXBUF = tx.buffer[tx.count]; 
         ++tx.count;
         break;
        case UART_TX_BUFFER_SIZE:
        while (!(U0TCTL&TXEPT));
         U0BR0  = (u08)N_UBR_Break;        
         U0TXBUF = 0;
         tx.count = 0;
        break;
        default:
        U0TXBUF = tx.buffer[tx.count];  
        ++tx.count;
        break;
        }
}
Причина - неучел бит TXEPT.Только вот теперь незнаю какой код оставлять. Выбор, сидеть в прерывании 100uS или по таймеру формировать сигнал BREAK, а байты данных передавать UARTом.. Разберусь. Спасибо Вам!!!