单片机型号:MSP43054194A
开发环境:CCS6.1.0
问题现象:115200波特率下,发送10 bytes的封包,出现丢失数据,丢失数据无规律。时钟为默认时钟。
注:9600波特率下,发送50 bytes的封包,传输正常。
主要代码:
Void UARTTestFxn(UArg arg0, UArg arg1)
{
char input[80];
UART_Handle uart;
const char echoPrompt[] = "Echoing characters:\r\n";
UART_Params uartParams;
static int RxCnt = 0;
/* Create a UART with data processing off. */
UART_Params_init(&uartParams);
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_RETURN_FULL;
uartParams.readEcho = UART_ECHO_ON;
uartParams.baudRate = 115200;
uart = UART_open(MSP430F5529_UARTA2, &uartParams);
if (uart == NULL) {
System_abort("Error opening the UART");
}
UART_write(uart, echoPrompt, sizeof(echoPrompt));
/* Loop forever echoing */
while (1) {
RxCnt = UART_read(uart, input, 1);
if(RxCnt > 0)
{
//UART_write(uart, input, RxCnt);
RxCnt = 0;
}
}
}
因为在9600波特率下数据收发正常,查看TI-RTOS的中断服务,过于“复杂”,希望能够提高CPU时钟。
请问在TI-RTOS在应该怎样设置呢?
灰小子:
你的通讯距离是多远?
这一部分的电路是怎么样的?