Я пытаюсь использовать MSPF5529 с моим mac. Я загрузил студию компоновщика кода и могу легко получить доступ к чипу, а также мигающим огням и любому другому приложению, которое мне нужно.Использование MSPf5529 с UART возвращает интервал cedilla в Mac
Целью является то, что я печатаю сообщение с использованием UART через последовательную связь на моем Mac. В настоящее время я использую приложение «goSerial» для связи с чипом. Мой код ниже инициализирует UART, принимает один символ, а затем он должен распечатать символ, а затем мигать светом. Однако вместо этого код берет символ и печатает странный символ, называемый интервалом cedilla, с шестнадцатеричным значением 0xFC, а затем мигает свет.
Этот символ появляется независимо от того, какой символ я помещаю в буфер MSP430.
Мой код приведен ниже. У кого-нибудь была эта проблема раньше? Как я могу это решить?
void Init_UART(void);
void OUTA_UART(unsigned char A);
unsigned char INCHAR_UART(void);
#include "msp430f5529.h"
#include "stdio.h"
int main(void){
volatile unsigned char a;
volatile unsigned int i;
WDTCTL = WDTPW + WDTHOLD;
Init_UART();
a=INCHAR_UART();
a=INCHAR_UART();
OUTA_UART(a);
// go blink the light to indicate code is running
P1DIR |= 0x01;
for (;;){
P1OUT ^= 0x01; i = 10000;
do i--;
while (i != 0); }
}
void OUTA_UART(unsigned char A){
while ((UCA1STAT&UCBUSY));
// send the data to the transmit buffer
UCA1TXBUF =A;
}
unsigned char INCHAR_UART(void){
while ((UCA1STAT&UCBUSY) == 0);
// go get the char from the receive buffer
return (UCA1RXBUF);
}
void Init_UART(void){
P4SEL |= 0x30; // Port 4.4 and port 4.5 controls the transfer
UCA1CTL1|= UCSWRST; // Put state machine in reset
UCA1CTL1|= UCSSEL_1; //Choose 32765Hz
UCA0BR0=3; // Baud rate = 9600
UCA0BR1=0; // Choose 32765 hz
UCA1MCTL=0x06; // Modulation UCBRSx=3, UCBFx = 0
UCA1CTL1 &= ~UCSWRST; // Put USCI in operation mode
}
Спасибо! К сожалению, мой код по-прежнему не печатает ничего полезного. Я не понимаю, почему он не работает. По какой-то причине он продолжает печатать эту строку: · í ··· Ä˛Ì – Kelsey
Возможно, неверная скорость передачи; часы не очень точны без кристалла. –
Вы были правы, мой бод был неправильным. Как только я его исправил, он решил проблему. Спасибо за помощь! К сожалению, моя репутация здесь настолько плохая, что я не могу голосовать за вас, но поверьте мне, если бы я мог :) – Kelsey