精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機主程序為什么要死循環

姚小熊27 ? 來源:電工之家 ? 作者:電工之家 ? 2020-07-25 11:43 ? 次閱讀

這個說法不確切。因為單片機的工作本身就是一個自循環系統。

單片機從啟動開始,首先要建立一個系統的工作初始環境和基本數據,這部分程序稱為初始化。

然后單片機要執行一些順序結構的控制程序,這部分程序要完成基本的功能驅動,如顯示、接口連接等。

然后是單片機的主程序,這部分程序是完成單片機在設備中的主要功能。

這部分的功能由主程序控制,一般是一個自循環的過程,可能就是題主說的是一個“死循環”,因為設計者就是要單片機在主程序中完成所設定的任務。

在主程序中單片機還要根據需要和外部指令進行子程序調用,數據的輸入和控制,接口的控制等等。這些子程序完成后,還必須回到主程序,以保證主控工作任務的完成。

所以,應該說單片機的程序是一個完整的自控程序,它必須回到主程序控制中循環運行。

所以在單片機程序設計中要保證在任何干擾和錯誤操作的情況下都能回到自己的程序循環中。否則就會造成系統死機,因為單片機先死機了。

單片機主程序為什么要死循環

單片機程序是從上到下執行的,到底了需要從頭開始

單片機集成了CPURAMROM、GPIO、定時器、中斷等等,是一個“微型的小電腦”。我們編寫的程序經過編譯后,需要下載到單片機的ROM。上電后,單片機就可以讀取并執行ROM中的程序了。我們編寫的程序經過編譯后,其實就是一些單片機可以識別和執行的指令,單片機的CPU只有一個線程,一次只能執行一條指令,指令從上到下執行,到了最后需要跳回最前面才可以生新執行,所以單片機的主程序是一個死揗環。

單片機程序是怎么樣的?

單片機上電后,需要進行初始化,初始化只需要執行一次就可以了,所以初始化程序一般不會放入主程序的死循環中。主程序需要不斷的連續執行的,所以會放入到一個死循環中去。

由此可見,單片機的程序是從上到下順序執行的,需要一個一個任務排隊運行。單片機還有一個中斷系統,如果發生需要即時響應的事件,可以把主程序暫停打斷,先把中斷事件處理完,再返回主程序繼續執行。就像你正在開會的時候,突然老板來電話了,您就需要把會議暫停,先接完老板電話,然后繼續會議。當然中斷事件也是可以屏蔽的,就像開會的時候來了一個騷擾電話,您可以不理它,或者掛斷它。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6032

    文章

    44522

    瀏覽量

    633203
  • 程序
    +關注

    關注

    116

    文章

    3777

    瀏覽量

    80857
收藏 人收藏

    評論

    相關推薦

    單片機的中斷機制

    單片機的中斷機制是一種重要的處理方式,它允許單片機在執行主程序的過程中,能夠暫停當前任務,轉而處理外部或內部緊急事件。這種機制極大地提高了系統的響應速度和處理能力,使得單片機在各種應用
    的頭像 發表于 10-17 18:03 ?391次閱讀

    單片機燒錄程序用什么軟件

    單片機燒錄程序單片機開發過程中的一個重要環節,涉及到將編寫好的程序代碼通過燒錄器寫入單片機的ROM中,以實現對
    的頭像 發表于 09-02 10:05 ?916次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序單片機開發過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸到單片機內部的存儲器中,使
    的頭像 發表于 09-02 09:47 ?819次閱讀

    STM32F107中斷死循環的原因?

    STM32F107,中斷死循環
    發表于 05-11 06:31

    STM32L使用模擬仿真時,進入SystemClock_Config()后程序一直死循環在等待HSI ready的循環中,為什么?

    ,配置好.ini文件,編譯OK,然后點擊DEBUG按鈕,代碼可以順利執行到上面的第5行,但是在進入 SystemClock_Config()后,程序一直死循環在等待HSI ready的循環中,如下
    發表于 05-09 06:37

    聊聊MCU死循環,用for(;;)還是while(1)?

    首先,問大家一個問題:你們寫單片機程序死循環】時,喜歡用for(;;)還是while(1)?快來為你喜歡用的【死循環】打call,評論區等你哦~一位工程師發現,國外工程師在給demo
    的頭像 發表于 04-29 08:10 ?1219次閱讀
    聊聊MCU<b class='flag-5'>死循環</b>,用for(;;)還是while(1)?

    如何跳出雙層循環,加密程序等問題?

    進入 KEY_Deal()//假設這個是按鍵處理程序 方案2:if(SWITCH==0;)return;//這是主程序掃描程序之一,獲取鍵值后賦值SWITCH,相當于打開按鍵處理入口,讓單片機
    發表于 04-26 07:53

    為何國外工程師偏愛使用for(;;)來實現MCU死循環

    一位工程師發現,國外工程師在給demo在做死循環時用的是for(;;),而不是常用的while(1)。這僅僅是個人習慣的問題,還是有更深層次的含義?
    發表于 04-01 11:26 ?593次閱讀
    為何國外工程師偏愛使用for(;;)來實現MCU<b class='flag-5'>死循環</b>?

    STM32F412RET6串口輪詢發送阻塞等待TC,導致程序陷入死循環怎么解決?

    測試時,發現CPU程序運行卡死了,通過STM32 ST-LINK Utility工具,排查到了程序陷入死循環
    發表于 03-21 07:51

    什么是單板機的監控程序

    初始化程序:用于設置單片機的初始狀態,包括初始化寄存器、設置中斷向量、啟動時鐘等。   主循環程序:監控程序
    的頭像 發表于 02-02 17:15 ?1319次閱讀
    什么是單板機的監控<b class='flag-5'>程序</b>?

    分享一下用ST-LINK Utility識別單片機程序是否跑飛

    最近有網友大概問了這樣的問題:單片機項目偶爾經常出現異常,不知道是程序跑飛了,還是進入某個死循環了。
    的頭像 發表于 01-09 11:40 ?3113次閱讀
    分享一下用ST-LINK Utility識別<b class='flag-5'>單片機</b><b class='flag-5'>程序</b>是否跑飛

    單片機芯片怎么寫入程序

    單片機芯片的程序寫入是通過將程序代碼寫入單片機芯片的非易失性存儲器(如Flash)中實現的。 在計算機科學和電子工程領域,單片機是一種集成電
    的頭像 發表于 01-05 14:06 ?7952次閱讀

    51單片機for循環結束之后還在運行

    當我們設計并編寫嵌入式系統時,使用51單片機編寫程序時,常常會用到循環結構來重復執行一段代碼。然而,有時我們可能會遇到51單片機循環結束之
    的頭像 發表于 12-26 14:06 ?1029次閱讀

    AvR單片機for循環需要幾個指令周期

    的Harvard架構。這種架構允許同時從程序存儲器(指令存儲器)和數據存儲器讀取指令和數據,從而提高了處理器的效率。 在AvR單片機中,for循環通常包含三個主要部分:初始化,循環條件
    的頭像 發表于 12-26 14:03 ?1099次閱讀

    為什么HashMap會產生死循環呢?

    死循環問題發生在 JDK 1.7 版本中,造成這個問題主要是由于 HashMap 自身的運行機制,加上并發操作,從而導致了死循環
    的頭像 發表于 12-21 09:06 ?755次閱讀
    為什么HashMap會產生<b class='flag-5'>死循環</b>呢?