打印
[Cortex-M0技术交流]

库函数操作串口出现问题

[复制链接]
2586|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
denvice|  楼主 | 2011-7-25 13:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
{
                 uint8_t bInChar[12] ={0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x20,0x05,0x00,0x3A,0xD0};  

                 DrvUART_Write(UART_PORT0,bInChar,12);
//使用M0的串口0发送一串数据
}
         {
         uint8_t aInChar[2]={0xFF};

                           while(UART0->ISR.RDA_IF==0);
                 DrvUART_Read(UART_PORT0,aInChar,12);
//使用M0接收一串数据
                 DrvUART_Write(UART_PORT0,aInChar,12);
//将接收到的数据显示出来

                  }

我是使用串口调试助手和hotisp进行调试的12个数据一个一个发送的时候M0的数据没有问题,但是如果我将一串数据一起发送出去的时候,显示出来的数据有很多个是错误的只有三四个是对的。于是我把接收数据的数量该小了。我给M0发送的是22 33 接收到显示出来是22 6E

相关帖子

沙发
denvice|  楼主 | 2011-7-25 15:29 | 只看该作者
问题以解决,我将串口设置的校验位设置成了MARK位,但是我的串口调试助手上面的校验位选择的是none。后来我将它改成了奇校验或者偶校验就能成功了。虽然问题解决的但是我不知道是什么原因啊。希望大家帮助一下谢谢

使用特权

评论回复
板凳
hotpower| | 2011-7-25 17:21 | 只看该作者
配置不对,不要检验位。
先用新唐的例子看看。肯定程序有问题。
这种问题一般是波特率或位数不对。

使用特权

评论回复
地板
denvice|  楼主 | 2011-7-26 20:14 | 只看该作者
不是的我的校验位是有用的,在数据帧中区分地址和数据的。应该是串口调试助手的问题。很多时候程序中将校验位设置成mark或者是space位,但是在串口调试助手中要设置成奇校验或者偶校验才能正常接受发送数据

使用特权

评论回复
5
hotpower| | 2011-7-27 08:01 | 只看该作者
自己做上位机软件。

使用特权

评论回复
6
denvice|  楼主 | 2011-7-27 14:33 | 只看该作者
:D好我认真学习,不满意的东西自己造:lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

162

帖子

2

粉丝