/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 实验平台: ST 官方三合一套件 + 硬件 : STM8S105S6T6C + 开发平台: IAR For STM8 1.10 + 仿真器 : ST-Link ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ #include "stm8s.h" /******************************************************************************* * ==时钟初始化函数== * CLK_DeInit(); --> 复位时钟寄存器 * CLK_HSICmd(ENABLE); --> 使能内部高速时钟 * CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2); --> 配置内部高速时钟(时钟分频器:2分频) * CLK_ClockSecuritySystemEnable(); --> 开启时钟安全系统 *******************************************************************************/ void CLK_INIT(void) { CLK_DeInit(); CLK_HSICmd(ENABLE); CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2); CLK_ClockSecuritySystemEnable(); } /******************************************************************************* * ==I/O口初始化函数== * GPIO_DeInit(); --> 复位I/O端口 D * GPIO_Init(GPIOD , GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3 , GPIO_MODE_OUT_PP_LOW_SLOW); --> 使能PORTD_0,PORTD_2,PORTD_3 设置为 输出,推挽式 ,低电平 ,低速率 *******************************************************************************/ void GPIO_INIT(void) { GPIO_DeInit(GPIOD); GPIO_Init(GPIOD , GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3 , GPIO_MODE_OUT_PP_LOW_SLOW); } /******************************************************************************* * ==MAIN 函数== * 初始化 时钟 * 初始化 端口 * 让三个LED 依次点亮 (使用ST-Link仿真器) *******************************************************************************/ void main(void) { CLK_INIT(); GPIO_INIT(); while(1) { GPIO_WriteHigh(GPIOD , GPIO_PIN_0); GPIO_WriteHigh(GPIOD , GPIO_PIN_2); GPIO_WriteHigh(GPIOD , GPIO_PIN_3); } } |