STM32入门1-点灯大师

本文介绍了STM32GPIO口的八大工作模式,包括模拟输入、浮空输入、上拉下拉等,并详细讲解了如何使用标准库函数进行GPIO配置和LED点灯操作。同时涉及了驱动安装、USB转TTL连接及单片机下载流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎入群共同学习交流
时间记录:2023/12/1

一、基础知识介绍

1.STM32GPIO口八大模式介绍

模式名称性质特征
浮空输入数字输入可读取引脚电平,若悬空则电平不确定
上拉输入数字输入可读取引脚电平,内接上拉电阻,悬空时默认电平为高电平
下拉输入数字输入可读取引脚电平,内接下拉电阻,悬空时默认电平为低电平
模拟输入模拟输入GPIO无效,直接接入内部ADC
开漏输出数字输出可输出引脚电平,可输出高低电平,但是高电平由上拉电阻提供
推挽输出数字输出可输出引脚电平,可输出高低电平,由引脚控制
复用开漏输出数字输出由片上外设控制输出高低电平,高电平阻态
复用推挽输出数字输出由片上外设控制输出高低点平

2.标准库函数介绍(点灯操作用到的函数介绍)
2.1 RCC时钟控制文件,stm32f10x_rcc.c
    2.1.1 void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);,使能挂载在APB2时钟线上的外设函数
2.2 GPIO控制文件,stm32f10x_gpio.c
    2.2.1 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);,GPIO初始化函数,介绍一下各种模式对应的名字
    GPIO_Mode_AIN:模拟输入
    GPIO_Mode_IN_FLOATING:浮空输入
    GPIO_Mode_IPD:下拉输入
    GPIO_Mode_IPU:上拉输入
    GPIO_Mode_Out_OD:开漏输出
    GPIO_Mode_Out_PP:推挽输出
    GPIO_Mode_AF_OD:复用开漏输出
    GPIO_Mode_AF_PP:复用推挽输出
    2.2.2 void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);,设置端口输出高电平函数
    2.2.3 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);,设置端口输出低电平函数
3.点灯的具体步骤
    3.1 使能时钟
    3.2 初始化GPIO口
    3.3 设置端口输出电平
4.话不多说上代码(以PC13口为例),一般最小系统版上会在这个口接一个LED灯
头文件(.h文件)

#ifndef __LED_H__
#define __LED_H__
#include "stm32f10x.h"

void vPortInit(void);
void vOutputHigh(void);
void vOutputLow(void);

#endif

源文件(.c文件)

#include "led.h"

void vPortInit(void)
{   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//使能时钟

    GPIO_InitTypeDef GPIO_InitStruct;
    
    GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;
    GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
    GPIO_Init(GPIOC,&GPIO_InitStruct);//初始化GPIOC13为推挽输出模式
}

void vOutputLow(void)
{
    GPIO_ResetBits(GPIOC,GPIO_Pin_13);//输出低电平
}

void vOutputHigh(void)
{
    GPIO_SetBits(GPIOC,GPIO_Pin_13);//输出高电平
}

5.看一下LED1s闪烁效果的视频(循环处理的延时,不是很准确)

LED闪烁视频


6.水一下文章长度,介绍一下代码下载
6.1 ch340驱动安装,官网地址: CH341SER
注意点-需要插入一个USB转TTL模块然后点击安装才能正确安装,否则的话出现预安装成功就是没有成功安装
BOOT0=1,BOOT1=0,串口下载模式
BOOT0=0,BOOT1=x,运行模式
6.2 USB转TTL和STM32单片机的连线方式

USB-TTLSTM32单片机
5V5V
GNDGND
TXDPA10
RXDPA9

6.3 使用FlyMcu进行下载hex文件
FlyMcu串口下载程序
6.4 下载完程序记得将BOOT0致0,使单片机从下载模式进入到运行模式
FlyMcu和CH340官方驱动可以私信本人来领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值