您的位置 首页 培训

STM8-使用TIM2的守时功用,完成灯每隔1S闪耀

目的:熟悉定时器的定时功能的使用(自动重装)includestm8shincludestm8s_gpiohincludestm8s_tim2hvoidCLK_Configurati

意图:了解守时器的守时功用的运用(主动重装)

#include”stm8s.h”
#include “stm8s_gpio.h”
#include “stm8s_tim2.h”
void CLK_Configuration();
void TIM2_Configuration_set_1ms(void);
void GPIO_Configuration();
void main()
{

CLK_Configuration();

TIM2_Configuration_set_1ms();

GPIO_Configuration();
enableInterrupts();//使能总中止
while(1)
{
}
}
void CLK_Configuration()
{
CLK_DeInit();
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//HSI16MHZ,1分频
}

void TIM2_Configuration_set_1ms(void)
{
TIM2_DeInit();
TIM2_TimeBaseInit( TIM2_PRESCALER_16,1000);
TIM2_ITConfig( TIM2_IT_UPDATE , ENABLE);

TIM2_SetCounter(0x0000);

TIM2_Cmd(ENABLE);

}
void GPIO_Configuration()
{
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
}
#pragma vector=13+2
__interrupt void TIM2_IRQ()
{
static unsigned int j;
j++;
if(j==1000)
{
j=0;
GPIO_WriteReverse(GPIOD, GPIO_PIN_0);//1s取一次反
}

TIM2_ClearITPendingBit(TIM2_IT_UPDATE); //清中止标志位

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/259879.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部