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

標題: 51單片機定時器中斷程序問題,while(1);去掉就不無法正常運行 [打印本頁]

作者: 無敵的你    時間: 2019-2-16 11:09
標題: 51單片機定時器中斷程序問題,while(1);去掉就不無法正常運行
我誤以為程序運行的時候會一直停在這個while(1);循環,但這個while(1);如果去掉的話程序就無法正常運行,不去掉卻能正常運行,求大佬詳解

D__單片機_1.1實驗_定時器中斷_定時器中斷.uvproj - μVision 2019_2_16 11_04_54.png (192.9 KB, 下載次數: 135)

D__單片機_1.1實驗_定時器中斷_定時器中斷.uvproj - μVision 2019_2_16 11_04_54.png

作者: 的花朵    時間: 2019-2-16 12:25
while確實會把程序停在那里,你沒理解錯,但是這里while的作用是讓定時器只初始化一次,如果不加while,定時器會反復初始化(main本身就是一個循環),也就沒辦法進入中斷,你就看不到現象
作者: yun8808    時間: 2019-2-16 12:39
有while(1),程序一直運行中,會進定時器中斷,沒有while(1),程序運行結束,不會進定時器,工作就不正常了。
作者: iofree    時間: 2019-2-16 15:56
2樓說得對,你的程序功能是靠中斷完成的,去掉while(1)后,主函數一直在不停的進行中斷的初始化,無法響應中斷!
作者: iofree    時間: 2019-2-16 15:59
yun8808 發表于 2019-2-16 12:39
有while(1),程序一直運行中,會進定時器中斷,沒有while(1),程序運行結束,不會進定時器,工作就不正常了 ...

main()函數是自循環函數,程序不會結束,但是會反復中斷初始化而形成死循環
作者: 笨笨兔    時間: 2019-2-18 13:33
你還是先學學基礎的C語言再說其它的吧。走路沒學會,還想快跑?
作者: AILIAN    時間: 2019-2-18 13:49
您的理解是有一定道理的,while語句的作用就是讓他一直在此處運行,有while(1),程序一直運行中,等待定時器中斷的產生,沒有while(1),程序直接運行結束,定時器中斷就沒有作用了,自然無法正常工作。
作者: 隨風飄遠    時間: 2019-2-18 16:30
while(1)是循環執行的,去掉后也可以加延時函數試下定時器中斷。  C語言也是學習單片機的基礎,有時間還要多看下單片機例程,根據進度一點一點學起來。
作者: areyouok    時間: 2019-2-18 17:36
先學學基礎的C語言再說其它的吧。走路沒學會,還想飛!

作者: Firefox903    時間: 2019-2-18 18:09
形成死循環,你應該多看看函數的定義




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1