為什么在單片機里C語言中main函數(shù)執(zhí)行完之后還要重新執(zhí)行?
上電后程序指針PC就會從程序存儲器的0地址開始執(zhí)行,
中間會按照程序的要求跳到需要的地址執(zhí)行,
如果執(zhí)行到最后一條指令完而沒有相應(yīng)的跳轉(zhuǎn)指令
PC會繼續(xù)往存儲器的下一地址執(zhí)行,
而下一地址是沒有燒寫指令進去的(理論上是全1或全0,隨廠家而定),這時就出現(xiàn)了跑飛,
在PC將所有地址都跑一遍之后會回到0地址,如此循環(huán),
不過在main主函數(shù)里面最后加一句while(1);讓函數(shù)進入死循環(huán),可解決此問題。