TI中文支持网
TI专业的中文技术问题搜集分享网站

tm4c1294NCPT的uart log(TI-RTOS)

我导入tmc4c1294的TI-RTOS里的uartlog例子,该程序应该可以在串口输出系统相关信息,可是现在输出的却是乱码,我使用的是EK-TM4C1294XL开发板,串口也没有问题,我用uartecho例子调试是正常的,波特率我用9600和115200都试过,还是乱码,我的软件是ccs 6.0.1,TI-RTOS是2.0.2.36,xdctools是3.30.1.15。请问我采用什么方法可以排除故障?谢谢!

Michael Sun:

楼主使用的是什么串口工具?串口的tx rx gnd都接好了吗?

可以考虑用示波器抓一下LaunchPad的UART TX脚的波形,看发出来的数据格式和波特率究竟是啥样的 

ninesun nie:

回复 Michael Sun:

我基本排除了串口发送的问题,因为1.我用的串口工具就是一个普通的超级终端。2串口就是仿真器自带的那个虚拟串口(开发板上仿真器虚拟出来的那个串口)3.这个串口工作是正常的,因为我用uartecho的例子实验过,接收发送数据是正常的。

为了验证是不是串口的问题,我修改了UARTUtils_loggerIdleSend(UChar *a, Int size)这个函数的内容,原来函数里是如下内容:

if (loggerHandle) { /* * Write up to 16 bytes at a time. This function runs during idle and * should not tie up other idle functions from running. The idle loop * is generally short enough that this function will run again before all * 16 bytes have been transmitted from the FIFO. */ if (size < 16) { return (UART_writePolling(loggerHandle, (void *)a, size)); System_printf("small\n"); } else { return (UART_writePolling(loggerHandle, (void *)a, 16)); System_printf("large\n"); }

我觉得是UART_writePolling这个函数的问题,因为我修改了一下,改成UART_writePolling(loggerHandle,buffer,6),其中buffer中保存了字符串"hello\n",此时在终端口能够连续正确打印出hello,

解决这个问题有什么思路吗?

赞(0)
未经允许不得转载:TI中文支持网 » tm4c1294NCPT的uart log(TI-RTOS)
分享到: 更多 (0)