首页 > 代码库 > 超时的2种方法
超时的2种方法
在双机通讯或者判断晶振是否成功起振都会用到超时。
一 串口通讯的超时:定义一个全局变量,在发送函数中不断将变量清0,在定时器中断里面不断对该值加1,在超时判断处结合数值和时间间隔计算得到一个时间(从结束发送开始到现在的事件)与超时标准时间对比看是否超时。
typedef timeout
{
bool flag_timeout;
unsigned long timecnt;
unsigned long timevar
}Timeout_TypeDef;
二 阻塞式的超时判断:
/*功能:判断超时
参数:超时时间
特点:阻塞式,需要结合外部中断触发改变flag_XX
*/
bool Judge_chaoshi( var_t)
{
bit flag_chaoshi=0;
unsigned int i=var_t /*需要估计或实验值大小,要比正常所需稍长一点时间*/
do{
if(flag_XX)/*外部中断触发*/
break;
}while(i--);
if(i==0)
flag_chaoshi=1;
return flag_chaoshi;
}
超时的2种方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。