标签:全局 nbsp 合数 定义 int 估计 break 一个 事件
在双机通讯或者判断晶振是否成功起振都会用到超时。
一 串口通讯的超时:定义一个全局变量,在发送函数中不断将变量清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;
}
标签:全局 nbsp 合数 定义 int 估计 break 一个 事件
原文地址:http://www.cnblogs.com/jieruishu/p/7202071.html