嵌入式铁头山羊stm32-LED闪灯实验-Day4
·
目录
3.明确最小系统板(当前操纵指南去查找电路图)控制的接线方法
1.实验目的
使用程序实现led灯的闪烁
2.接线方式科普
(1)推挽接法(2)开漏接法
简单来说前者是LED灯阳极接了个推挽模式的mos管(0/1对应灯灭/亮),后者是LED阴极接了个开漏模式的mos管(0/1对应灯的亮/灭)

3.明确最小系统板(当前操纵指南去查找电路图)控制的接线方法

4.建立模板工程
- 解压模板文件
- 修改模板工程文件名(两个)为当前实验名
- 在默认的main.c里面编程即可
简单来说就是有了一个模板代码,该模板当前的功能是空的,就等你写功能了。
便于直接写功能代码,无需做额外的繁琐操作(引入lib等等)
5.GPIO时钟
简单来说,就是GPIO是手(执行操作),时钟是心脏,心脏去供给手去执行操作,要执行GPIO操作之前必须开启时钟(其实可以想象成要执行操作前先开启开关(时钟))。

6.GPIO模块编程的四大接口
- 首先是初始化,就是初始化当前要操作的某根引脚,实现配置的初始化,即8种模式的选择与最大输出速度的选择。
- 之后是顾名思义向寄存器写0/1控制引脚
- 输入的这个后面再学
- 最后是从输出的寄存器(最近的一次输出)里面读取0/1

7.前面的三大接口的具体参数



8.明确实验对应的配置
首先是前面说过了是开漏的,并且电路图明显看出是CPU直接操作的,比较更方便
之后是PC13来自GPIOC,所以类型是C,
之后引脚是13(引脚编号)
9.代码
注意,使用的delay函数,是自己引进来的,本来是没有这个函数的,需要头文件引入
#include "stm32f10x.h"
#include "Delay.h"
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitTypeDef GPIO_InitStruct={0};
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_OD;
GPIO_Init(GPIOC,&GPIO_InitStruct);
while(1)
{
GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_SET);
Delay(100);//100ms延迟
GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_RESET);
Delay(100);
}
}
10执行操作
(1)光运行的话,直接编译然后下载然后复位就行
(2)debug的话,就是先点品符号旁边的魔法棒按钮,将debug选择为STlink,然后编译代码,然后点击右上角的放大镜带d的按钮执行debug操作,点击
一行行的调试,注意因为默认是0,所以当初始化配置完后,他是亮的(因为是开漏接法)
更多推荐
所有评论(0)