回覆列表
  • 1 # 一身皮囊

    一個間的外部中斷程式控制LED亮滅

    首先,我們要了解中斷是怎麼執行的,打個比方,現在小明在家看電視,這時臥室裡的電話響了,聽到電話響的小明就暫停電視跑去臥室接電話,接完電話又繼續看電視。這一個過程就是中斷的執行過程,小明看電視時就相當於微控制器正在執行的程式,電話響了就是外部產生了一箇中斷訊號,小明暫停電視跑去接電話就是在執行中斷服務函式,接完電話又回來看電視,就相當於執行完中斷函式跳出繼續執行之前的程式。

    那麼接下來就看看這個程式的具體寫法;

    這一整個程式分硬體部分和軟體部分。

    一、硬體部分

    按鍵按下高電平有效,透過讀取PC13和PA0電平作為產生中斷訊號的觸發源。

    二、軟體部分

    初始化用來產生中斷的 GPIO;

    初始化 EXTI;

    配置 NVIC;

    4. 編寫中斷服務函式;

    先宏定義好GPIO埠位、時鐘和中斷源

    再配置好NVIC

    EXTI 中斷配置

    KEY2按鍵配置同KEY1

    EXTI 中斷服務函式

    注:程式中LED1_TOGGLE和LED2_TOGGLE是在LED_GPIO_config( )裡配置好了

    主函式

  • 中秋節和大豐收的關聯?
  • 貓王是誰啊?為什麼叫他貓王?