专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

STM8_GPIO 推挽输出

作者:佚名   来源:本站原创   点击数:  更新时间:2013年03月31日   【字体:
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 实验平台: 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);
   }
}
关闭窗口

相关文章