久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

關于單片機LED流水燈延時函數代碼分析

查看數: 2318 | 評論數: 11 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2023-2-1 22:49

正文摘要:

為什么要加一個循環,循環里的xms每次減1是干嘛的

回復

ID:965189 發表于 2023-2-2 20:15
減1一直減到0就等于設定的時間值并且退出。
ID:824490 發表于 2023-2-2 19:37
wjq0312 發表于 2023-2-2 17:34
不減1,就會一直卡在這里循環,出不去了,然后后面的程序就都不會運行了。加了減1,每運行一次這里面的代碼 ...

一直加1,溢出不就回到0了?咋就不能跳出呢?不明白。
ID:162622 發表于 2023-2-2 19:34
ldc2000 發表于 2023-2-2 15:39
大神,那個_nop_()是啥意思?為什么要加,直接增加下面ij數值不行嗎

多一個指令周期,使延時更準確!
ID:1022674 發表于 2023-2-2 17:34
不減1,就會一直卡在這里循環,出不去了,然后后面的程序就都不會運行了。加了減1,每運行一次這里面的代碼都會減1,直到減到0,就能跳出這個函數了。然后就能運行后面的代碼了。
ID:158391 發表于 2023-2-2 15:39

大神,那個_nop_()是啥意思?為什么要加,直接增加下面ij數值不行嗎
ID:1010435 發表于 2023-2-2 11:43
xms如果不減1,那么就永遠不會退出while循環,
ID:69038 發表于 2023-2-2 11:14
xms每減1,就運行一次內鉗的2級循環 xms(i(j))。如果所有指令都是1T,這個延時約為(2*199*xms)/Fosc時間。調用與返回不算在其內
ID:69038 發表于 2023-2-2 11:04
xianfajushi 發表于 2023-2-2 09:14
在C語言中非0即真所以不寫判斷式==比如要判斷等于2不循環則要寫判斷式while(xms

用++也行~~

如果XMS=50,--運行50次循環,++則int(65536-50)次循環。一個是下計數,一個是上計數而已。
但原則上不用++,而是用--的道理是因為在匯編里有“減1為0跳轉”的指令(DJZ),而沒有“加一為0跳轉”。
這樣編譯時會節省點空間。

個人見解
ID:213173 發表于 2023-2-2 10:02

ID:332444 發表于 2023-2-2 09:14
在C語言中非0即真所以不寫判斷式==比如要判斷等于2不循環則要寫判斷式while(xms<2)這樣值等于2就退出循環了,所有計數循環要么++要么--,本例要結束計數循環就用--。
ID:584814 發表于 2023-2-2 08:44
代碼寫的比較清奇,貌似非一般經典。
不減 1 大概率進入死循環延時成凝時。

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲入口 | 超碰伊人久久 | 国产亚洲精品91 | 国产一区二区三区视频免费观看 | 亚洲精选一区二区 | 久久精品99国产精品 | 久久天堂 | 91精品国产乱码久久久 | 欧美性久久 | 久久久久久国产精品免费免费 | 久久99这里只有精品 | 国产日韩欧美二区 | 久久精品久久综合 | 精品福利一区二区三区 | 欧美a区| h视频免费在线观看 | 色婷婷久久久久swag精品 | 亚洲国产一区视频 | 粉嫩粉嫩芽的虎白女18在线视频 | 久久久久免费精品国产小说色大师 | 免费的色网站 | 一区二区三区欧美大片 | 超碰97人人人人人蜜桃 | 国产成人精品一区二区三区网站观看 | 国产成人精品网站 | 精品国产免费人成在线观看 | 伊人久久在线观看 | 亚洲狠狠| www.国产日本 | 精品久久99 | 九九热久久免费视频 | 欧美亚洲国语精品一区二区 | 亚洲国产成人精品女人久久久 | 波多野结衣二区 | 欧美成人激情 | 欧美精品一区二区三区四区 在线 | h视频在线观看免费 | 午夜一级做a爰片久久毛片 精品综合 | 欧美一区二区久久 | 欧美极品在线视频 | 久久激情av |