#include "stm8s.h"
#include <string.h>
#include <stdio.h>
void Time1(void)
{
TIM1_DeInit();
TIM1_TimeBaseInit(15,TIM1_COUNTERMODE_UP,1000,0);
TIM1_ARRPreloadConfig(ENABLE);//使能自动重装
TIM1_ITConfig(TIM1_IT_UPDATE , ENABLE);//数据更新中断
TIM1_Cmd(ENABLE);//开定时器
}
void main(void)
{
Time1();
GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(GPIOC, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(GPIOE, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_WriteHigh(GPIOA,GPIO_PIN_3);
GPIO_WriteHigh(GPIOC,GPIO_PIN_3);
GPIO_WriteHigh(GPIOD,GPIO_PIN_3);
GPIO_WriteHigh(GPIOE,GPIO_PIN_3);
GPIO_WriteHigh(GPIOD,GPIO_PIN_0);
enableInterrupts();
while (1)
{
}
}
__interrupt void TIM1_OVR_UIF(void)
{
static u16 j=0; //定义变量j类型为u16,static定义了 变量j的生存周期
if(j<60000)//判断 j当前的数值是否小于60000
{
j++;//计数器 j 加1 也可以写成 j=j+1;
}
else//如果大于等于100 执行下面这个分支
{
j=0;//计数器 j 清零
GPIO_WriteReverse(GPIOD,GPIO_PIN_0);
GPIO_WriteReverse(GPIOA,GPIO_PIN_3);
GPIO_WriteReverse(GPIOC,GPIO_PIN_3);
GPIO_WriteReverse(GPIOE,GPIO_PIN_3);
}
TIM1_ClearITPendingBit(TIM1_IT_UPDATE);//清除更新标
}
#ifdef USE_FULL_ASSERT
void assert_failed(u8* file, u32 line)
{
while (1)
{
}
}
#endif
//新改了,编译没有错误了,可是还是没有闪灯哎
|