<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM8L探索套件學(xué)習(xí)筆記-低功耗模式(十二)

          STM8L探索套件學(xué)習(xí)筆記-低功耗模式(十二)

          作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
          官方給的例程當(dāng)中,使用PE6作為IDD_WAKUP,將系統(tǒng)從低功耗中喚醒,
          STM8L有5種低功耗模式,降低功耗的方法還可以將系統(tǒng)時(shí)鐘降低或者關(guān)閉沒(méi)有使用的外設(shè)。

          今天我們就使用U3這個(gè)14階脈動(dòng)進(jìn)位計(jì)數(shù)器M74HC4060進(jìn)行HALT模式喚醒,從原理圖可以看到Q14腳輸出的反向連接到T2模擬開(kāi)關(guān),控制PE6端口。因?yàn)榻?jīng)過(guò)兩個(gè)反向器,使用Q14的邏輯等于PE6的邏輯。U3的時(shí)鐘頻率為30KHZ,Q14的脈沖周期為2的14次方除以30KHZ,約等于0.5s,也就是說(shuō)Q14輸出的脈沖是周期大約為1秒,占空比為1:1的方波。所以PE6的電平變化也是周期大約為1秒,占空比為1:1的方波。代碼設(shè)計(jì)如下:
          void main(void)
          {
          GPIO_Init(LED3_PORT,LED3_PIN,GPIO_Mode_Out_PP_High_Fast);
          //輸出低電平-高速10M
          GPIO_Init(LED4_PORT,LED4_PIN,GPIO_Mode_Out_PP_High_Fast);
          //輸出低電平-高速10M
          GPIO_Init(CNT_EN_PORT,CNT_EN_PIN,GPIO_Mode_Out_PP_High_Fast);
          GPIO_Init(WAKEUP_PORT,WAKEUP_PIN,GPIO_Mode_In_FL_IT);//PE6
          LCD_GLASS_Init();
          LCD_GLASS_DisplayString("M74HC");
          /* Enable Rising edge port PE6 for wake up conter */
          //EXTI->CR2 = 0x10;
          //上升沿或者下載沿都可以
          EXTI_SetPinSensitivity(EXTI_Pin_6, EXTI_Trigger_Rising);
          /* Enable Interrupts */

          enableInterrupts();
          GPIO_ResetBits(GPIOC,GPIO_Pin_4);//使能U3計(jì)數(shù)器
          /* Infinite loop */
          while (1)
          {
          GPIO_ToggleBits(LED3_PORT,LED3_PIN);


          halt();//進(jìn)入HALT模式,外部中斷能夠喚醒
          }
          }
          程序開(kāi)始初始化板上的LED3/LED4,LCD顯示測(cè)試M74HC計(jì)數(shù)器的功能。PE6為上升沿觸發(fā)。進(jìn)入while后,進(jìn)入HALT模式,CPU關(guān)閉,將不會(huì)執(zhí)行。只有當(dāng)外部中斷發(fā)生后才能執(zhí)行。
          中斷函數(shù):
          INTERRUPT_HANDLER(EXTI6_IRQHandler, 14)
          {
          /* In order to detect unexpected events during development,
          it is recommended to set a breakpoint on the following instruction.
          */
          sim()
          GPIO_ToggleBits(GPIOC,GPIO_Pin_7);
          /* Clear Interrupt pending bit */
          EXTI_ClearITPendingBit(EXTI_IT_Pin6);
          rim()
          }
          現(xiàn)象是板上的LED3和4交替,周期1s閃爍,說(shuō)明CPU在HALT模式和工作模式交替進(jìn)行。


          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();