//0.5秒定时,LED闪烁
#include "stm8S.h"
void main(void)
{
//系统时钟切换配置(自动切换,外部高速时钟,关切换中断
//,切换新时钟后关旧时钟)
CLK_ClockSwitchConfig ( CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE );
//PG1设置为高速推挽输出高电平
GPIO_Init(GPIOG,GPIO_PIN_1, GPIO_MODE_OUT_PP_HIGH_FAST);
//恢复TIM1值
TIM1_DeInit();
//TMI1初始化(预分频值,向上计数,自动装载值,重复计数值)
TIM1_TimeBaseInit( 1599, TIM1_COUNTERMODE_UP, 5000, 0 );
//中断配置
TIM1_ITConfig(TIM1_IT_UPDATE, ENABLE);
//启用定时器(更新中断,启用)
TIM1_Cmd(ENABLE);
//开中断
enableInterrupts();
while(1) { } // main loop
}
// 中断时间 0.5 Sec
@far @interrupt void TIM1_interrupt(void)
{
//清除指定标志位(更新标志)
TIM1_ClearFlag(TIM1_FLAG_UPDATE);
//端口电平取反(端口,引脚)
GPIO_WriteReverse(GPIOG, GPIO_PIN_1);
} |