欢迎入群共同学习交流
时间记录: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-TTL | STM32单片机 |
---|---|
5V | 5V |
GND | GND |
TXD | PA10 |
RXD | PA9 |
6.3 使用FlyMcu进行下载hex文件
6.4 下载完程序记得将BOOT0致0,使单片机从下载模式进入到运行模式
FlyMcu和CH340官方驱动可以私信本人来领取