你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
stm1024 发表于 2018-11-20 09:06 思路没问题的,配置好定时器之后,就可以不用在while循环里面管定时器的事情了,然后定时器中断到来的时候 ...
安 发表于 2018-11-20 09:09 用中断接收,然后检测是否收到应答数据,再做超时判断。
因为有很多细节没有交代清楚
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
或者,你可以不用循环中等待。可以定期或不定期去查询是否接收到数据。
当然,中断也是可以的。
评分
查看全部评分
评分
查看全部评分
我现在设置了一个500ms的定时器,如果不管这个定时器的话,500ms就会中断一次,计数器加1,等计数器到达我需要的时间后,执行跳出循环,同时停止失能定时器,清除中断标记,如果在我规定的时间内有数据返回,显示返回的数据并失能定时器,清除中断标记。等待下一次按键发送数据,发送完数据后开启定时器
因为我接收数据是要在5分钟内的任意时刻都可以,不能用中断的,需要一直检查有没有收到数据
if(systick-a<300*1000)
{
//判断串口接收标志位
//接收数据,并处理
}