首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我希望使用两个不同的时间通过一个UART发送和接收数据。

我希望使用两个不同的时间通过一个UART发送和接收数据。
EN

Stack Overflow用户
提问于 2021-07-05 12:47:18
回答 1查看 259关注 0票数 0

我想用10毫秒和1毫秒的定时器通过单一的UART发送和接收数据。如果设置了1ms的定时器标志,那么10 1ms的传输应该停止,而其他的应该启动,因为1ms的传输是紧急的。完成后,第一个应该恢复。如何在dspic33ep系列单片机中实现?

备注:Uart可用性受应用程序的限制。

EN

回答 1

Stack Overflow用户

发布于 2021-07-06 00:01:18

我建议在1千赫(即每毫秒)触发单个定时器中断。中断将设置一对全局信号量标志,指示(a)需要传输,(b)应该发生何种类型的传输。信号量应被宣布为易挥发的。

然后,您的主控制循环可以检查/轮询信号量,以确定是否是时候进行传输,以及所需的传输类型。注意,每个信号量只检查一次,因为它们的值在两个测试之间可能发生变化。您的控制回路还需要重置时间发送数据信号量.

此方法将有一些延迟(中断设置信号量和测试信号量的循环之间的定时)。

还有传输速度的问题。您将不得不使用相当高的波特率,以获得任何体面的数据传输的重复频率为1千赫。例如,在9600波特时,只需1ms就能传输一个字符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68256430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档