beary 发表于 2016-1-4 10:16:14

【问】接收指令之后判断接下去的几秒内有无其他指令

请问一下,有没有办法不用定时器就可以判断
在串口输入了'exit‘或者其他指令之后,3秒内没有输入其他字符就做一个操作。

或者请问一下,如果用定时器的话有什么比较好的思路吗?

谢谢。

creep 发表于 2016-1-4 10:39:14

既然要求准确的3秒内做出操作那就要使用定时器了吧。使用定时器也就是使能定时器,3秒后判断,然后关闭定时器,类似状态机的模式!

星辰一方 发表于 2016-1-4 10:42:42

使用串口中断,“exit”通过字符匹配判断,其他指令3秒动作这个如果不想使用定时器就只能while()等待中判断了,得不偿失!

星辰一方 发表于 2016-1-4 10:45:27

定时器的话每次串口中断中首先置标志位,打开定时器,串口接收处理完毕后再清除标志位,定时器定时周期3s,定时器中断中判断这个标志位,如果此位复位则动作,否则不动作。

风子 发表于 2016-1-4 11:51:06

确定时间得要用定时器吧

yanhaijian 发表于 2016-1-4 12:37:37

STM32还没有发现能满足你要求的可能。

wudianjun2001 发表于 2016-1-4 16:27:00

要时间,不用定时器怎么搞
页: [1]
查看完整版本: 【问】接收指令之后判断接下去的几秒内有无其他指令