3个帖子/ 0个新帖子
最后发表
smarly
离线
最后看到:2年7个月前
主
加入:2014-02-05 14:50
SPS -软流量控制

你好,

通过以下配置,我成功地运行了Serial Port Service示例:Mobile <=> Da14580 <=> UART。

因为我只有TX/RX连接在UART侧,我需要使用软件流控制,这对我来说是可以的。事情是我一直接收Xon/Xoff数据在UART上,即使没有数据正在传输。速率与广告/连接间隔相同(这意味着当连接建立时它会变得更快)。

我的问题是:有没有办法禁用这些XON/XOFF消息时,什么都没有被传输?我一直在看周围的例子,找出我可以禁用这个,但没有找到它,所以任何帮助将是欢迎的!

提前谢谢。

卢瓦

注:我使用的是SDK 3.0.8和DSPS 3.150.2。

关键词:
smarly
离线
最后看到:2年7个月前
主
加入:2014-02-05 14:50
这是由于函数

这是由于app_sps_scheduler.c中的app_sleep_prepare和app_scheduler_reinit函数。每当芯片进入并从休眠中醒来时,就会发出一个XON/XOFF对。

我删除了这些函数中的xon/xoff调用,一切似乎都工作得很好。尽管如此,我还是担心这个解决方案会有一些副作用。基本上我猜这是为了避免在睡眠模式下接收字符。我只是不知道为什么这是需要的,因为所有的输入字符应该读取在irq无论如何?也许没有或者正常的进程没有被irq唤醒?

谢谢你的帮助。

卢瓦

RvA
离线
最后看到:2个月2周以前
工作人员
加入:2014-02-07 14:10
嗨,Loic,什么都没有

嗨,Loic,当什么都没有传输,你不应该看到任何流量控制字符,除非睡眠模式启用。如果DA14580处于休眠状态,UART对等端发出一个字节,就会造成数据丢失。要仅在休眠模式下摆脱流控制,请尝试注释掉app_sleep.h的第112行中对app_sleep_check()的调用。

最好的问候,RvA