STM32能定时打开串口中断接收数据不?

[复制链接]
4646|8
 楼主| zhoubojay 发表于 2012-12-23 15:39 | 显示全部楼层 |阅读模式
串口采用中断接收数据,一接收到数据就发出去了,太频繁了,我想加个定时器中断,定时一段时间打开串口中断使能,然后发一条数据,接着关闭串口中断使能,这样可以不?是在定时器中断里嵌套串口中断的吧?
mcuisp 发表于 2012-12-23 16:05 | 显示全部楼层
串口接收中断再频繁也频繁不到哪去的。
至少隔了一个字节的时间。
 楼主| zhoubojay 发表于 2012-12-23 20:07 | 显示全部楼层
mcuisp 发表于 2012-12-23 16:05
串口接收中断再频繁也频繁不到哪去的。
至少隔了一个字节的时间。

现在传感器是每隔2S发一条数据,我串口中断接收后直接发出去, 但是我还有其他传感器是采集后用定时器中断发一条数据, 这就不能同步, 比如我定时器定时1分钟采集一条发出去,前面串口接收的就有30条数据,怎么能把串口接收的嵌套入定时器里,定时1分钟所以传感器都只发一条数据
mcuisp 发表于 2012-12-24 02:30 | 显示全部楼层
那你应该建立一个发送队列,或者发送缓冲区。

所有数据都放进这个区域,在另一个进程里发送;这个进程可以是主程序循环,也可以是定时器中断的一个分支。
zhp108xx 发表于 2013-8-14 16:01 | 显示全部楼层
你好,请问问题最后如何解决的呢
 楼主| zhoubojay 发表于 2013-8-14 16:09 | 显示全部楼层
zhp108xx 发表于 2013-8-14 16:01
你好,请问问题最后如何解决的呢

4楼给了答案
zhp108xx 发表于 2013-8-14 16:14 | 显示全部楼层
zhoubojay 发表于 2013-8-14 16:09
4楼给了答案

情况是串口一直在收数据,我希望在某段时间接收而其他时间关掉中断不接收,不知道该咋办了
 楼主| zhoubojay 发表于 2013-8-14 17:01 | 显示全部楼层
zhp108xx 发表于 2013-8-14 16:14
情况是串口一直在收数据,我希望在某段时间接收而其他时间关掉中断不接收,不知道该咋办了 ...

接收数据之后干嘛用?一直接收,缓存区满了就清空,定时器定个时间把最新一条数据发送走或显示
关掉中断是出去什么目的
cjhk 发表于 2013-8-14 19:14 | 显示全部楼层
应该解决了吧   楼主   应该是标志位没有及时清除   个人的理解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

593

帖子

1

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