stm32学习第二天
2026/8/2 3:19:18 网站建设 项目流程

今天学习第一个片上外设:GPIO

p2.1:输出模式分别为通用/复用输出推挽/开漏等四种模式。

推挽(PP):向外推电流---0:低电压,1:高电压

开漏(OD):向内拉电流---0:低电压,1:高阻抗。开漏模式下P-MOS管始终断开即表现为N-MOS管的漏极断开。

通用:是通过CPU直接向输出数据寄存器写0/1来控制两个MOS的开关状态。

复用:是CPU交给其它的片上外设写0/1来控制MOS管的开关状态。

从而向引脚输出高低电压

图1

IO的最大输出速度:交替向IO引脚写0/1且输出不失真的最快速度!!

输出速度有2MHZ、10MHZ、50MHZ,选择输出速度要选择满足条件的最小输出速度,防止出现硬件之间的电磁干扰问题、还会增加耗电。

LED闪灯实验:

1.首先由控制目标:控制板载LED闪烁--->确定LED的工作模式---查看stm32最小系统板的电路原理图,观察板载LED部分的电路开关位置(靠近发光二极管的阳极/阴极?)来确定是推挽输出还是开漏输出。-------->开漏输出、PC13引脚

2.电路图分析结束开始创建开发环境,写代码

【注意】创建模板工程后,修改名称时要将文件夹的名称和内部的.uvprojx文件名称同步修改!!

2.1:【注意】先要开始GPIOx的时钟---为器官(GPIOx这个片上外设)提供心跳。---->时钟树章节会有详解!!!

2.2:GPIO编程接口的认识:GPIO_Init:初始化gpiox引脚----GPIOx,pin_x、输出速度、输出模式。

GPIO_Writebit:向输出数据寄存器写0/1--->则使用的是CPU--通用输出开漏模式。

还有两个是用于读取比特位,不常用,暂时没记哈哈。

3.实现闪灯效果:

使用了封装的头文件:"delay.h",使用前需要在项目顶端声明一下,且【注意】:封装的delay.h中使用的是Delay函数,写成delay()会有报错!!!

通过while循环,实现亮灯---100ms---灭灯---100ms。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询