/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 实验平台: 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);
}
}
关键字:STM8 GPIO 推挽输出
引用地址:
STM8_GPIO 推挽输出
推荐阅读最新更新时间:2024-03-16 15:13
STM32的GPIO输入编程实例之读取按键状态
一、概述 1、按键简介 按键是一种机械器件,按键两端分别对应某电路的两个断点,我们可以通过按键接通和断开控制该电路的电压等参数,我们利用按键做的应用通常有控制继电器、键盘、复位等。随着应用的扩展,按键已成为电路板上不可或缺的一部分。 2、按键类别简介 按键主要有四种类型:常开带复位、常开不带复位、常闭带复位、常闭不带复位。(本次实验使用的是常开带复位按键) 按键主要有以下4种工作模式: 常开带复位:初始默认状态是开路,当受力按下时按键使电路连通,受力结束后其自动返回开路状态。 常开带不复位:初始默认状态是开路,每按下一次按键改变一次开闭状态。 常闭带复位:初始默认状态是连通,当受力按下时按键使电路开路,受力结束后其自动返回
[单片机]
IAR开发STM8字体异常问题解决
在使用IAR开发STM8时发现,在设置完字体后,有的文件的字体的正常的,而有的文件的字体则是异常的,为此,一直感觉不爽,最近终于通过网络,参考网友的设置修正了这一问题: 字体异常 字体正常 解决问题很简单,通过对IAR进行重新设置,并重启IAR即可解决,Tools- Options...进入菜单设置,具体的设置如下图所示: 记住,先要设置字体,字体设置完后,在设置上图,设置完后需要重启IAR,即可正常。
[单片机]
STM8 ADC转换模式-------连续扫描模式
STM8单片机ADC支持5种转换模式:单次模式,连续模式,带缓存的连续模式,单次扫描模式,连续扫描模式。 连续扫描模式 该模式和单次扫描模式相近,只是每一次在最后通道转换完成时,一次新的从通道0到通道n扫描转换会自动开始。如果某个数据缓存寄存器在被读走之前被覆盖,OVR标志将置1。 连续扫描模式是在当SCAN位和CONT位已被置时,通过置位ADON位来启动的。 在转换序列正在进行过程中不要清零SCAN位。 连续扫描模式可以通过清零ADON位来立即停止。另外一种选择就是当转换过程中清除CONT位那么转换会在下一次的最后一个通道转换完成时停止。 注意:在扫描模式中,不要使用
[单片机]
STM8开发记录二:UART RX空闲中断和DMA操作
一、用STM8L的时候,没能在同时读取Rx中断和IDLE中断标志,最后用DMA取数据,见 (三、DMA实现数据拷贝): 1.1 uart配置 void UsartConfig(void) { // USART_DeInit(USART1); /* Enable USART clock */ CLK_PeripheralClockConfig(CLK_Peripheral_USART1, ENABLE); /* USART pin remap */ SYSCFG_REMAPPinConfig(REMAP_Pin_USART1TxRxPortA, ENABLE); /* Configure USART
[单片机]
[STM8学习笔记] IAR工程搭建笔记
1. 打开IAR软件。 2.选择 - - 3. - - 会弹出一个对话框,根据你的MCU系列下拉选择MCU型号; 然后再根据你的编程语言选择编程语言。 选择好了之后,点击【OK】 - 选择你要保存的工程路径以及工程名。 4. 配置工程参数:选中工程名,右键选择【options...】 4.1 选择芯片型号:Device:STM8L051F3(这里是我使用的MCU型号) 4.2 编译时需要的头文件相对路径添加(这样后续工程路径变更,也不会影响头文件找不到的问题) $PROJ_DIR$ $PROJ_DIR$..user 4.3 输出可执行文件配置如下: 4.4 debug调试器配置如
[单片机]
STM8 入门学习与实验(二)TIM 定时器
简介:这一章节将说明如何在stm8s上面部署一个TIM1,也就是定时器,我们将利用这一个定时器精准定时1ms单位,并用它来为LED灯闪烁时间作参考。 一、stm8定时器简述 打开用户手册,可以看到这张模块图鲜明的表明了STM8S103F3的外设内设都有哪些,我们可以看到右下角的几个定时器 可以得知,STM8S具有一个高级控制定时器TIM1,一个普遍应用定时器TIM2和一个基本定时器TIM4,可用的功能和配置逐级往下 二、配置TIM定时器 先看一条初始化TIM1的语句示例 TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 800, 0); 第一个参数0,是预分频值,这里为
[单片机]
stm328种GPIO模式
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。 二、开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。开漏形式的电路有以下几个特点: 1、利用外
[单片机]
关于stm8用库函数写程序时出现Error
1.出现这个错误先查自己对应的芯片的资料有没有这个串口,因为有的芯片有的串口不一样。 2.在options里面去调整为自己芯片的型号 3.进入stm8s.h文件中调整为自己对应的芯片类型 这3个地方,如果修改过来了,就不会出现这个问题了
[单片机]