SCI通信方面的程序

[复制链接]
 楼主| zhenykun 发表于 2018-12-22 16:16 | 显示全部楼层 |阅读模式
现在我在做SCI通信方面的程序,DSP通过SCI中断发送数据,需要有数据返回,来确定发送的数据成不成功,当没有数据返回时,就重新发送,一共发送3次都没有返回数据,则认为错误。我的问题是,如何来开始第二次发送?
 楼主| zhenykun 发表于 2018-12-22 16:19 | 显示全部楼层
也就是两次发送之间需要等待多长时间才合适?
 楼主| zhenykun 发表于 2018-12-22 16:24 | 显示全部楼层
怎么确定当前的总线上没有接收数据?
yszong 发表于 2018-12-22 16:27 | 显示全部楼层
有总线上的电平决定吧
拉高后,空闲
再发送
shimx 发表于 2018-12-22 16:30 | 显示全部楼层
“怎么确定当前的总线上没有接收数据?”这个能判断吗?
zhanghqi 发表于 2018-12-22 18:36 | 显示全部楼层
我觉得要间隔多长时间,得看跟SCI通讯的另一端了
jiahy 发表于 2018-12-22 18:39 | 显示全部楼层
我觉得还是可以判定的
做一个计数器
如果SCL、SDA持续拉高
不就能判定了吗
 楼主| zhenykun 发表于 2018-12-22 18:45 | 显示全部楼层

我试了试
应该可以
jiahy 发表于 2018-12-23 08:28 | 显示全部楼层

网上有个i2c的万能历程
大家可以下下来看看
wyjie 发表于 2018-12-23 16:10 | 显示全部楼层
开启接收中断  第一次发送完后  如果有数据返回将会进入接收中断中  读取接收到的数据比较是否为你需要的数据  如果是说明成功  将定义的全局标志置位    如果不成功肯定不会置位这个标志   
dengdc 发表于 2018-12-23 16:13 | 显示全部楼层
嗯,而你的数据发送函数中应该在发送完数据之后进行减计数并判断那个全局标志是否置位  
wuhany 发表于 2018-12-23 16:17 | 显示全部楼层
对, 如果在减计数结束之前没有标志没有被置位  说明没有回数据  发送函数就可以返回一个数据表明没有回来数据  再次发送调用发送函数
 楼主| zhenykun 发表于 2018-12-23 16:21 | 显示全部楼层

了解了,多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

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