请大家帮我看看这个问题,谢谢先!
背景:
芯片是LPC2138, keil中编写程序,用LPC2000 Flash U
tility 通过ISP将程序烧入芯片。
目的:调试uart0数据通讯,主程序中,uC不停地向PC端口发送一个Byte的数据
问题:
无论是程序中的波特率如何设定,在PC端的端口软件的波特率只能设定为19200,那么才能在端口软件中观察到正常的数据。在
单片机和PC中间,我使用了一块现成的测试板,为的是将232转为USB,从而和电脑相连。问题可能是在这里吗?
uC(UART TX)--》测试板入(UART RX)--》测试板出(232 9针接口)--》PC (usb接口)
在keil的
仿真里面,我已经看到uart0的baudrate被设置为比如说9600,但是实测里面,端口软件设置为9600,只能接收到错误数据,只有将其改为19200,才可以接收到正确数据。我还测试了其他的baudrate,也都是如此。
期待大家的指点,谢谢!
更改了程序,想让它在初始化以后就执行两次UART0输出,每次一个字符。却发现程序运行后,端口软件不断接收到数据,每次一个字符。这是之前调试的程序所达到的效果啊。
难道程序没有烧进去??????LPC2000 Flash Utility 显示一切正常,进度条走到头,下面的信息提示“成功”。
一周热门 更多>