Linux????械???
???????????? ???????[ 2012/12/20 11:19:49 ] ????????
??????????????????????????????????????????????HZ????写???????????????HZ????????????????????????????????????????????????????????HZ????????????poll??select???????械????????????????????????????????????????????????????HZ???????????????????????????????????????????????????????娌�?????纭�
??????????Jiffies??????????????????????????????????Jiffies?????????????HZ??????????????????位????????jiffies/HZ??
extern unsigned long volatile jiffies; //????jiffies
unsigned long later=jiffies+5*HZ //????????5??
??????????jiffies?????校????????????????jiffies?????unsigned long????????????????????????????????????64位??jiffies_64???????????????jiffies??????jiffies_64???32位???????C?????????????????????危????????2?????????械?jiffies?????????????斜??????????卤?????????????volatile????????????畏????????????鈥�???????谢??????????????????械???????????????
????????????????????????????????????????????0?????jiffies?????????????????????jiffies????????time_after??time_befiore??time_after_eq??time_befiore_eq??????????
unsigned long time=jiffies+HZ; //?????
if(time_before(jiffies??timeout)){
//??谐???????
}else{
//?????????
}
????????????????璞�???屑?????????????????????????????????????????卸???????????????????????????????????????????????xtime??????
????????????
Struct time_list my_timer ; //?????????
Init_timer??&my_timer??; //??????????
my_timer.expires=jiffies+delay; //???????
my_timer.data=0; //???????????void my_funciton(unsigned long data)?尾?
my_timer.function=my_function; //???????????
add_timer(&my_timer); //???????
mod_timer(&my_timer??jiffies+new_delay)??//????渭??????????
del_timer_sync(&my_timer); //??????
???????????????锟�??????????????setup_time???????娲�???????????????????危??????????????????????校????????????????????????????????????????????????????????????????????????????????????????????械?????????????????????????del_timer_sync????del_timer??????????????????睢�?????????????????????????????????????????????????魏????????
???????????????
????1???????????time_befoer????????校???????????????????????卸????????
????2????????????udelay??ndelay??mdelay??udelay??????????小????械???????????1ms???围??????udelay????????????????mdelay???????谩?
????3?????schedule_timeout()?????????????????????????????????????????????????????????????????????????械?????????????????????????????????????????????????????????????????????????锟�???????????schedule_timeout()????????schedule ()?????????????????????????????????????????
??????

???路???
??????????????????
2023/3/23 14:23:39???写?貌??????????
2023/3/22 16:17:39????????????????????些??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???路???????路
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11