STM8S TIM4 初始化设置
#define TIM4_DIV1 (unsigned char)0 #define TIM4_DIV2 (unsigned char)1 #define TIM4_DIV4 (unsigned char)2 #define TIM4_DIV8 (unsigned char)3 #define TIM4_DIV16 (unsigned char)4 #define TIM4_DIV32 (unsigned char)5 #define TIM4_DIV64 (unsigned char)6 #define TIM4_DIV128 (unsigned char)7 #define TIM4_CNT_ENB TIM4_CR1 |= 0X01 ; //开启定时器 #define TIM4_CNT_DIS TIM4_CR1 &= ~0X01 ; //关闭定时器 #define TIM4_IEN_ENB TIM4_IER |= 0X01 ; //开启定时器中断 #define TIM4_IEN_DIS TIM4_IER &= ~0X01 ; //关闭定时器中断 //************************************* // 函数名称:Init_TIM4 // 函数功能:定时器6初始化 // 入口参数:定时器计数次数 分频系数 // 出口参数:无 /***************************************/ void Init_TIM4(uint8 Tcon,uint8 Pscr) { TIM4_IER = 0x00 ; // 禁止中断 TIM4_EGR = SETB0 ; // 允许产生更新事件 TIM4_PSCR = Pscr ; //计数器时钟=主时钟 //设定重装载时的寄存器值,255是最大值 TIM4_ARR = Tcon;//80 ; // 0.25U*80 = 20U TIM4_CNTR = 0 ; // 设定计数器的初值 // b0 = 1,允许计数器工作 b1 = 0,允许更新 // 设置控制器,启动定时器 TIM4_CR1 = 0 ;//(SETB0|SETB0) ; // 允许更新中断 b1 = 0,允许更新 TIM4_IER = 0x01; } //************************************* // 函数名称:TIM4_ENB // 函数功能:定时器6初始化 0.25U计数一次 // 入口参数:定时器计数次数 // 出口参数:无 /***************************************/ void TIM4_Enb(uint8 EN) { if(EN == ENB) { TIM4_CNT_ENB ; TIM4_IEN_ENB ; } else { TIM4_CNT_DIS ; TIM4_IEN_DIS ; } } //---应用实例---- //TIM4初始化设置 Init_TIM4(125,TIM4_DIV16); //16M/16=1M 定时125U TIM4_Enb(ENB) ; //开启定时器