向串口发送数据的问题??????????

csc_xixi 2010-08-03 10:25:12
我用write函数向串口发送数据,请问如何才能知道是否发送成功了?
如果是用read函数,那怎么用,给你例子?还有,如果read的结果是空的或者什么都没有,又该怎么办?
...全文
906 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwunix 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 hao507 的回复:]

引用 8 楼 wwwunix 的回复:
回7楼:
重点看看你的串口部分是否打开。一般是相关的串口的功能没有打开,也就是在初始化串口的时候,相应的配置寄存器没有配置正确

串口打开是成功的,返回的句柄是3,然后参考网上的一个例子来设置参数的,接着就是发送了,TX引脚没有波形,一直是高电平···
[/Quote]
我说的打开,不是应用程序中的open,指的是驱动程序中的初始化。板子上的串口配置寄存器如果没有配置正确,那么在应用层是能看到设备节点,而且用open()后返回也是正确的。但是实际上是发送不了数据的。
九个太阳2023 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wwwunix 的回复:]
回7楼:
重点看看你的串口部分是否打开。一般是相关的串口的功能没有打开,也就是在初始化串口的时候,相应的配置寄存器没有配置正确
[/Quote]
串口打开是成功的,返回的句柄是3,然后参考网上的一个例子来设置参数的,接着就是发送了,TX引脚没有波形,一直是高电平···
wwwunix 2010-08-04
  • 打赏
  • 举报
回复
回7楼:
重点看看你的串口部分是否打开。一般是相关的串口的功能没有打开,也就是在初始化串口的时候,相应的配置寄存器没有配置正确
九个太阳2023 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwunix 的回复:]
write发送成功是指已经成功将数据交给串口芯片了。如果成功write函数会返回成功发送的字节数。至于数据是否成功到达串口的接收端则要另外判断了:
1、在接收端的程序中查看是否收到数据。
2、用示波器在接收端的RX针脚上测量是否有数据。
3、用示波器在发送端的TX针脚上测量是否有数据。
4、如果都没有数据的话就要检查发送端的串口驱动程序是否正常。
[/Quote]
目前调试串口程序也是出现了问题,发送的时候用示波器测量了下,没有波形·······
裸机下测试串口是可以正常发送的,所以应该是串口驱动的问题,目前在看串口驱动,不知道串口驱动有没有容易出现问题的地方,呵呵,请教下~~~
九个太阳2023 2010-08-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 feiyinzilgd 的回复:]
引用 4 楼 csc_xixi 的回复:
回复二楼:
我要是能那样做还用你说呀!


什么态度!!
[/Quote]
LZ问问题要谦虚点哈~~~
谭海燕 2010-08-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 csc_xixi 的回复:]
回复二楼:
我要是能那样做还用你说呀!
[/Quote]

什么态度!!
csc_xixi 2010-08-03
  • 打赏
  • 举报
回复
回复二楼:
我要是能那样做还用你说呀!
csc_xixi 2010-08-03
  • 打赏
  • 举报
回复
回复一楼:
方法貌似挺好的,但是 我没有示波器。呵呵
谭海燕 2010-08-03
  • 打赏
  • 举报
回复
汗。。google下。这种例子很多的。拿过来可以用。但是主要是串口设置好才行。
wwwunix 2010-08-03
  • 打赏
  • 举报
回复
write发送成功是指已经成功将数据交给串口芯片了。如果成功write函数会返回成功发送的字节数。至于数据是否成功到达串口的接收端则要另外判断了:
1、在接收端的程序中查看是否收到数据。
2、用示波器在接收端的RX针脚上测量是否有数据。
3、用示波器在发送端的TX针脚上测量是否有数据。
4、如果都没有数据的话就要检查发送端的串口驱动程序是否正常。

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧