首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

STM8(用库)实例赏析---TMI1

STM8(用库)实例赏析---TMI1

//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);
}
返回列表