Использую контроллер CC430F5137. Возникла проблема с флагами уарта - а именно передача массива данных. Контроллер напроч не обращает внимание на флаги UCA0TXIFG и на UCBUSY. В итоге - мясо из байтов. Может кто сталкивался с таким?.
while(temp!=RxBuffer[0])
{
P3OUT |= BIT2; //Tx on
while((UCA0IFG&BIT1 == 0)&& (UCA0STAT&UCBUSY !=0));
UCA0TXBUF=RxBuffer[temp+1];
// for(i=0; i<8; i++)
// {
// }
temp++;
P3OUT &= ~BIT2; //Tx off
}
MSP430 UART
- Реклама
Re: MSP430 UART
Попробуйте так:
Код: Выделить всё
P3OUT |= BIT2; //Tx on
while(temp!=RxBuffer[0])
{
while( (!(UCA0IFG & BIT1)) && (UCA0STAT & UCBUSY));
UCA0TXBUF=RxBuffer[temp+1];
temp++;
}
P3OUT &= ~BIT2; //Tx off
Разница между теорией и практикой на практике гораздо больше, чем в теории.
