[導讀]單片機是可編程器件,在使用時需要編寫滿足需求的程序。其C語言程序在各個端口、配置初始化完成后,會進入一個死循環(huán),一般用while(1){;}的形式。初始化完成后,單片機就在死循環(huán)內一遍又一遍的執(zhí)行程序邏輯。復位后,就從頭開始,初始化完成后,再次進入死循環(huán)。
單片機是可編程器件,在使用時需要編寫滿足需求的程序。其C語言程序在各個端口、配置初始化完成后,會進入一個死循環(huán),一般用while(1){;}的形式。初始化完成后,單片機就在死循環(huán)內一遍又一遍的執(zhí)行程序邏輯。復位后,就從頭開始,初始化完成后,再次進入死循環(huán)。
單片機在執(zhí)行程序是從上到下一條一條語句執(zhí)行的,對于定時器的配置、端口的初始化等內容,只需要執(zhí)行一次就可以,所以初始化內容放在while(1)循環(huán)之外,而對于任務之類需要實時檢測的邏輯就需要放在死循環(huán)內,讓單片機不停的去執(zhí)行。
單片機的程序分為查詢式和中斷式。所謂查詢,就是需要不停的去掃描,比較耗費資源;而中斷具有中斷標志位,只有中斷標志位置位后才去處理中斷內容,比較節(jié)省資源。所以,查詢就是通過while(1)循環(huán)來保證的。
單片機在執(zhí)行主程序時,如果發(fā)生了中斷,則會優(yōu)先處理中斷內容,處理完成后再從剛才的斷點處繼續(xù)執(zhí)行,如果發(fā)生了多個中斷,則先執(zhí)行中斷優(yōu)先級較高的中斷,這也就是說的中斷嵌套的情況。
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除( 郵箱:macysun@21ic.com )。