欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2222|回復: 10
收起左側

請問這個毫秒級單片機延時程序有問題嘛?

[復制鏈接]
ID:1001220 發表于 2022-1-15 18:04 來自觸屏版 | 顯示全部樓層 |閱讀模式
這個毫秒級延時程序:
void ms(ut x){
ur i;
while(x--)
for(i=0;i<123;i++);
}
有什么問題嗎?
回復

使用道具 舉報

ID:624769 發表于 2022-1-15 22:44 來自觸屏版 | 顯示全部樓層
無單片機型號,無晶振頻率,不置評否。
回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:336670 發表于 2022-1-15 23:51 | 顯示全部樓層
while(x--)后面不是應該加上分號嗎??
while(x--);
回復

使用道具 舉報

ID:213173 發表于 2022-1-16 06:39 | 顯示全部樓層
從表面看這個延時程序沒有什么問題,但實際上有3個問題。其中有1個花括號2個分號是漢字字符,編譯器不認。
回復

使用道具 舉報

ID:1001220 發表于 2022-1-16 10:18 來自觸屏版 | 顯示全部樓層
188610329 發表于 2022-1-15 22:44
無單片機型號,無晶振頻率,不置評否。

芯片是AT89C52,晶振頻率12HZ
回復

使用道具 舉報

ID:1001220 發表于 2022-1-16 10:26 來自觸屏版 | 顯示全部樓層
老二不怕黑 發表于 2022-1-15 23:51
while(x--)后面不是應該加上分號嗎??
while(x--);

程序是我師兄教我的,我的理解是unsigned int 長度0~65535
while (x--)
的意思是執行最多65535遍for語句差不多延時1秒的
有分號就是停止了,所以我不加分號
回復

使用道具 舉報

ID:1001220 發表于 2022-1-16 10:31 來自觸屏版 | 顯示全部樓層
wulin 發表于 2022-1-16 06:39
從表面看這個延時程序沒有什么問題,但實際上有3個問題。其中有1個花括號2個分號是漢字字符,編譯器不認。

這個不好意思啊手機的發的帖子所以符號是漢化的
回復

使用道具 舉報

ID:824490 發表于 2022-1-16 10:58 | 顯示全部樓層
老二不怕黑 發表于 2022-1-15 23:51
while(x--)后面不是應該加上分號嗎??
while(x--);

邏輯上沒問題,while(x--)是個循環,當后面帶上“;”后,循環體就是“X--”,當x=0時,這個循環線路束,不帶“;”時,是下一行的代碼做為循環體。
所以這是一個2級的嵌套循環,加了“;”就成了2個獨立的一級循環,延時上就差多了去了。
回復

使用道具 舉報

ID:624769 發表于 2022-1-16 19:57 | 顯示全部樓層
2755395523 發表于 2022-1-16 10:18
芯片是AT89C52,晶振頻率12HZ

STC89C52   12M晶振, ms級的延時,一般差不多是:

void   delayms(u8 ms)
{
     u8   i,j;
     while(ms--)
     {
         j = 4;
         while(j--)
         {
              i=248;
              while(i--);
         }
     }
}
回復

使用道具 舉報

ID:207421 發表于 2022-1-16 22:40 | 顯示全部樓層
普通的延時函數,不會很精準
回復

使用道具 舉報

ID:53621 發表于 2022-1-17 09:04 | 顯示全部樓層
看匯編或者看示波器可能會準點,這個時間要微調。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表