написал такую функцию для инициалзации
Код: Выделить всё
void uart()
{
P3SEL=pin3+pin4; // порты 3.4 , 3.5 на UART
UCA0CTL1 |= UCSWRST; // грубо говоря отключаем UART ... я так понимаю что мне это делать не надо т.к. прерываний связаннх с UART у меня нет
UCA0CTL1 |= UCSSEL_2; // настраиваем работу UART от SMCLK
UCA0BR0 = 0xDA; // делитель для 9600 (моя частота 2.097152 MHz , и ровно 900 мне не получить...скажется ли?)
UCA0BR1 = 0x00; // 2ой делитель
UCA0CTL1 &= ~UCSWRST; //включаем UART
//UCA0TXBUF=; // буфер передатчика
}моё устр-во будет общаться с другим по I2C , для контроля правильности, хочу видеть посылки на терминале, т.е. мне нужно просто отправлять посылки по UART в определённые моменты, как это правильно делается? просто записать в буфер UCA0TXBUF слово?
Нашел такую функцию
Код: Выделить всё
void UARTWriteString(string str)
{
int strSize = str.length();
for(int i = 0; i < strSize; i++)
{
WDTCTL = WDTPW + WDTCNTCL; // Сброс таймера watchdog в ноль.
while (!(IFG2&UCA0TXIFG)); // Проверка готовности буфера отправки.
UCA0TXBUF = str[i];
}
}Код: Выделить всё
void UARTWriteString(unsigned char str)
{
WDTCTL = WDTPW + WDTCNTCL; // Сброс таймера watchdog в ноль.
while (!(IFG2&UCA0TXIFG)); // Проверка готовности буфера отправки.
UCA0TXBUF = str;
}
