[牛人杂谈] 发送函数与检测是否空闲函数的先后顺序问题

[复制链接]
 楼主| xinxianshi 发表于 2024-7-22 22:04 | 显示全部楼层 |阅读模式
在串行通信中,一般在发送前可以判断是否空闲,如果空闲就发送。
也可以先发送再判断是否发送完成变成空闲。
那么哪种合适呢?
我认为先发送,后判断比较合适,因为第一次肯定是空闲的,而发送后判断,可以有助于确认发送成功。

评论

@呐咯密密 :逻辑上如果之前没做过发送,那么是不需要在之前判断的。所以在之后判断更加合理。  发表于 2024-8-13 22:51
也可以前后都判断  发表于 2024-8-13 10:52
jasontu 发表于 2024-7-23 11:10 | 显示全部楼层
如果是MULTI MASTER才需要。一般在发送前可以判断是否空闲,如果空闲就发送。
班杰明 发表于 2024-8-12 23:56 来自手机 | 显示全部楼层
发送前判断空闲也可以吧
呐咯密密 发表于 2024-8-13 10:51 | 显示全部楼层
我一般是后判断,防止后续代码影响数据完整性
 楼主| xinxianshi 发表于 2024-8-13 22:39 | 显示全部楼层
呐咯密密 发表于 2024-8-13 10:51
我一般是后判断,防止后续代码影响数据完整性

经过实测,还真是这样。
故意相遇 发表于 2024-8-22 15:59 | 显示全部楼层
一般都是先判断空闲在发送啊
白马过平川 发表于 2024-8-22 18:00 | 显示全部楼层
这种能先判断发送时是否空闲吗?
风凉 发表于 2024-8-22 22:00 | 显示全部楼层
其实用DMA就好了,就会很快了
西洲 发表于 2024-8-23 02:00 | 显示全部楼层
一般来说,可以看看例程,看看流程
捧一束彼岸花 发表于 2024-8-23 06:00 | 显示全部楼层
在串行通信中,判断是否空闲后再发送和先发送再判断是否发送完成变成空闲这两种方法各有优劣,具体选择取决于应用场景和需求
未说出口的像你 发表于 2024-8-23 08:00 | 显示全部楼层
判断空闲后再发送的优势是确保在发送数据之前总是处于空闲状态,可以避免发送冲突和数据丢失的可能性,提高通信可靠性。
我吃小朋友 发表于 2024-8-23 10:00 | 显示全部楼层
我觉得判断空闲后再发送的话,可能会导致一定的延迟,特别是在频繁通信或对实时性要求较高的情况下,可能会影响通信效率
在曼谷的春 发表于 2024-8-23 12:00 | 显示全部楼层
先发送再判断是否发送完成变成空闲的优点是可以减少通信的延迟,提高通信效率,特别是在需要快速响应的场景下,这种方式可能更适合。
月亮一键变蓝 发表于 2024-8-23 14:00 | 显示全部楼层
先发送再判断是否发送完成变成空闲一般是存在一定的风险,如果发送时未判断是否空闲,可能会导致发送冲突或数据丢失;同时在某些情况下可能会出现发送失败的情况。
一只眠羊 发表于 2024-8-23 18:00 | 显示全部楼层
选择哪种方式更合适取决于具体的应用需求。如果对通信的可靠性要求较高,或者通信频率较低,可以选择先判断空闲再发送的方式;如果对通信的实时性和效率要求较高,可以选择先发送再判断是否发送完成变成空闲的方式。在实际应用中,需要根据具体情况进行权衡和选择。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

1019

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部