久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> STM32 >> 瀏覽文章

STM8S103移植到STM8S207時(shí)TIMER2定時(shí)器不能進(jìn)入中斷的問題

作者:佚名   來源:轉(zhuǎn)自十四一心的空間   點(diǎn)擊數(shù):  更新時(shí)間:2014年09月04日   【字體:

STM8S103的引腳封裝圖如下


是一個(gè)20管腳的51類型單片機(jī),8Kflash 1kRAM。
STM8S207引腳封裝如下

一個(gè)48引腳64KFLASH和6K的RAM,也是51單片機(jī),但串口和定時(shí)器的功能多了。
從手冊(cè)看,timer1是ADVANCED 定時(shí)器,timer 2 3是通用型定時(shí)器。
在移植過程中以為只要改動(dòng)器件類型同時(shí)在stm8s.h內(nèi)將
#ifndef __STM8S_H
#define __STM8S_H
 
#define STM8S207   //STM8S103  
103注釋掉并開通207的宏定義。
定時(shí)器初始化如下
void TIM1_Init(void)
{
        TIM1_DeInit();                                          //定時(shí)器1相關(guān)寄存器復(fù)位
       
        TIM1_TimeBaseInit(7, TIM1_COUNTERMODE_UP, 9999, 0);     //中斷時(shí)間10ms  
        // TIM1_TimeBaseInit(8, TIM1_COUNTERMODE_UP, 1500, 0);     //中斷時(shí)間ms  
        TIM1_ITConfig(TIM1_IT_UPDATE, ENABLE);                  //使能中斷  
        TIM1_Cmd(ENABLE); //使能TIM1
}
 
void TIM2_Init(void)
{
      TIM2_DeInit();
      TIM2_TimeBaseInit(TIM2_PRESCALER_1, 125*20);//20ms中斷
      TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);          //使能中斷
      ITC_SetSoftwarePriority(ITC_IRQ_TIM2_OVF, ITC_PRIORITYLEVEL_2);//設(shè)置d定時(shí)器中斷優(yōu)先級(jí) 2
      TIM2_Cmd(ENABLE);//使能定時(shí)器1 
 
}
但是通過單步調(diào)試,確無法進(jìn)入中斷
#pragma vector=ITC_IRQ_TIM2_OVF + 2
__interrupt void TIM2_UPD_OVF_BRK_IRQHandler(void)
{     
   
    TIM2_ClearFlag(TIM2_FLAG_UPDATE);       //清定時(shí)器1更新中斷標(biāo)志
 
    
}
觀察寄存器發(fā)現(xiàn) TIMER2 的寄存器值TIMER2_IER無法開通中斷也就是使能中斷 ,手冊(cè)和register都顯示timer2 的寄存器很少。TIMER1和TIMER2的比較如下



后來在stm8s_timer2.h里發(fā)現(xiàn)了端倪
typedef struct TIM2_struct
{
  __IO uint8_t CR1;  
 // __IO uint8_t RESERVE1;
 // __IO uint8_t RESERVE2;  //注釋掉用于STM8S207  否則用于stm8s103
  __IO uint8_t IER;  
  __IO uint8_t SR1;  
  __IO uint8_t SR2;  
  __IO uint8_t EGR;  
  __IO uint8_t CCMR1;
  __IO uint8_t CCMR2;
  __IO uint8_t CCMR3;
  __IO uint8_t CCER1;
  __IO uint8_t CCER2;
  __IO uint8_t CNTRH;
  __IO uint8_t CNTRL;
  __IO uint8_t PSCR;  
  __IO uint8_t ARRH;  
  __IO uint8_t ARRL;  
  __IO uint8_t CCR1H;
  __IO uint8_t CCR1L;
  __IO uint8_t CCR2H;
  __IO uint8_t CCR2L;
  __IO uint8_t CCR3H;
  __IO uint8_t CCR3L;
}
TIM2_TypeDef;
也就是在給timer2 的寄存器賦值時(shí)由于多了兩個(gè)沒用的,將數(shù)值頂替了,注釋掉可以了。
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 精品视频一区二区 | 欧美激情精品久久久久久变态 | 一区二区三区四区五区在线视频 | 国产精品久久久久久久久久三级 | 欧美日韩亚洲一区二区 | 欧美一区日韩一区 | 国产精产国品一二三产区视频 | 九色 在线 | 国产视频中文字幕在线观看 | 一级做a爰片性色毛片视频停止 | 日韩欧美网 | 青青草视频网站 | 人妖一区 | 天天操夜夜拍 | 美人の美乳で授乳プレイ | 最新中文字幕在线播放 | 成人在线免费观看视频 | 久久久精品一区二区三区 | 亚洲97 | 欧美日韩中文在线 | 日日网| 国产中文| 台湾佬成人网 | 日韩色在线 | 毛片a级 | 成人黄视频在线观看 | 亚洲视频一区二区三区 | 久色一区 | 国产成人精品网站 | 蜜桃一区二区三区在线 | av午夜激情| 国产韩国精品一区二区三区 | 国产一级电影网 | 99久久精品免费看国产免费软件 | 欧美精品欧美精品系列 | 国产精品久久久久久久久久久久久 | 日本高清中文字幕 | 国产精品一区在线观看 | 91精品国产高清一区二区三区 | 999久久久久久久久 国产欧美在线观看 | 国产在线一区二区三区 |