色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM8S 外部中斷一直進解決方法

          STM8S 外部中斷一直進解決方法

          作者: 時間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
          用到官方的函數(shù)庫操作,也看了例程,設(shè)計方法基本一樣:

          GPIO_Init(GPIOA, (GPIO_Pin_TypeDef)(GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6), GPIO_MODE_IN_PU_IT); //設(shè)置外部IO中斷模式
          EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOA, EXTI_SENSITIVITY_FALL_ONLY); //設(shè)置中斷觸發(fā)方式

          本文引用地址:http://cafeforensic.com/article/201611/316512.htm然后外部中斷就可以進了,但是發(fā)現(xiàn)中斷服務(wù)函數(shù)沒有中斷源的情況下一直進。
          解決方法:
          在初始化外部中斷的時候,總中斷一定要關(guān)。
          初始化完外部中斷,在開總中斷,上述情況得到解決,只有觸發(fā)源來的時候進中斷。

          因為沒有中斷的清除標(biāo)志位,這一點與其它單片機是不同的。
          EXTI_CR1 觸發(fā)邊沿的設(shè)置 要在總中斷沒開時才能寫入!
          PD7 是 不可屏蔽的最高優(yōu)先級的硬件中斷 (TLI)
          設(shè)置順序:最好先關(guān)中斷 設(shè)置邊沿 開啟引腳 最后開總中斷
          DisableAllIntp();
          EXTI_CR1 = ****(PD口雙沿中斷);
          Init_Exti_PD_Intp();
          EnableAllIntp();
          另外定時器讀取與51有異,順序要先讀TIM1->CNTRH 再讀TIM1->CNTRL
          要是反過來讀 就會得不到正確的值 寫CNTR寄存器時,要先關(guān)閉(disable)定時器,否則有可能無法正常寫入的值



          關(guān)鍵詞: STM8S外部中

          評論


          技術(shù)專區(qū)

          關(guān)閉