This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
用MSP430F5438A,MCLK和SMCLK都跑到25M,COM0配成115200BPS。但是发现COM0发送时,PC机接收的完全正确,但是PC发送时,MCU收到的却是错误的。用的是TIDriverlib 1.25的代码配的CLK和UART,代码如下:
if(STATUS_FAIL == UART_init( __MSP430_BASEADDRESS_USCI_A0__,
UART_CLOCKSOURCE_SMCLK,
UCS_getSMCLK(__MSP430_BASEADDRESS_UCS__),
115200,
UART_NO_PARITY,
UART_LSB_FIRST,
UART_ONE_STOP_BIT,
UART_MODE,
UART_OVERSAMPLING_BAUDRATE_GENERATION)
我如果把SMCLK换成ACLK,波特率降到1200,收发都是没问题的,说明硬件应该没问题。那为什么会这样呢?哪位达人也碰到这种问题?给个提示吧。
你好,下面是一些建议:
1. MCU的晶振是内部还是外部?
2. 如果使用了RTOS,Timer中断肯定一直在调度任务,所以有可能打断UART接收;
3. 多个任务都在运行的时候,是不是有多个中断?
谢谢。