串口通讯是否不能同时收发数据?

yhlzxq 2015-05-06 09:32:08
我用串口通讯收发plc数据,主程序不定时下发数据,另一线程定时接收数据,我已用临界区防止它们冲突.但还是会造成一部分下发数据丢失,我想问是否串口通讯不能在同一串口收发数据.如果不能,用以太网的机制是什么样的,如果能,该怎么办?
...全文
2130 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2015-05-07
  • 打赏
  • 举报
回复
引用 4 楼 yhlzxq 的回复:
1楼,串口通讯怎样用中断?
你设计成硬件接口每接收到一个字节都引起中断的架构。 发送过程可以采用轮询方式。而接收完全通过中断服务来处理。
falloutmx 2015-05-06
  • 打赏
  • 举报
回复
电脑的串口是可以全双工的,但是也要看外面接的端口,RS232\422是全双工的,RS485是半双工的。
zhenghn2010 2015-05-06
  • 打赏
  • 举报
回复
硬件上有buffer,软件层面也可以开buffer, 这是很有用的.很多类似多任务都这样.
dceacho 2015-05-06
  • 打赏
  • 举报
回复
单纯串口的话是可以同时收发的, 但如果收发都是随机的话接收必须用中断, 如果查询的话, 在你发送一串数据时(不停的写SBUF)接收到的数据可能会漏掉,
yhlzxq 2015-05-06
  • 打赏
  • 举报
回复
1楼,串口通讯怎样用中断?

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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