亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

下面這個程序怎么會是無限循環程序呢?,不是很理解!

下面這個程序怎么會是無限循環程序呢?,不是很理解!

C PHP
暮色呼如 2022-07-25 19:15:41
#include<reg52.h>sbit jdq=P3^7;sbit LED0=P0^0;void delay1ms(unsigned int i){unsigned char j;while (i--){for(j=0;j<113;j++) //1ms基準延時程序{;}}}void main(){jdq=0;LED0=0;delay1ms(1000);jdq=1;LED0=1;delay1ms(1000);}這是開發板上的程序,可以燒寫進去。唯一的問題就是主函數不知為什么變成了無限循環函數,其他的沒有問題。unsigned int和unsigned char 沒問題。各位兄弟我虛心求教?。?
查看完整描述

3 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

你這樣寫是不行的,必需要有一個死循環才行,你現在的情況其實是程序跑飛了,飛了一段恰好又飛回來了,接著跑,感覺像是循環一樣。
你的main()函數結束后,會有個 return,你是沒寫,但是匯編是會加上,這時,會從堆棧中讀出地址給PC,這個讀出來的地址可能是0,你又從頭開始了。

查看完整回答
反對 回復 2022-08-01
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

看看單片機運行原理,它是不會自動停止的
可以在想要讓它停止的地方加while(1)之類的語句

查看完整回答
反對 回復 2022-08-01
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

末尾加上while(1);

查看完整回答
反對 回復 2022-08-01
  • 3 回答
  • 0 關注
  • 145 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號