网站建设常见问题解决方案wordpress主题手机版不显示侧边栏
news/
2025/10/6 17:19:48/
文章来源:
网站建设常见问题解决方案,wordpress主题手机版不显示侧边栏,可以自己设计一个公司的网站,精品课程网站设计与实现这篇文章将详细介绍 如何在 stm32103 板子上点亮一个LED. 文章目录 前言一、开发环境搭建。二、LED 原理图解读三、什么是 GPIO四、cubeMX 配置工程五、解读 cubeMX 生成的代码六、延时函数七、控制引脚状态函数点亮 LED 八、GPIO 的工作模式九、为什么使用推挽输出驱动 LED总结… 这篇文章将详细介绍 如何在 stm32103 板子上点亮一个LED. 文章目录 前言一、开发环境搭建。二、LED 原理图解读三、什么是 GPIO四、cubeMX 配置工程五、解读 cubeMX 生成的代码六、延时函数七、控制引脚状态函数点亮 LED 八、GPIO 的工作模式九、为什么使用推挽输出驱动 LED总结 前言
实验开发板STM32F103C8T6。所需软件keil5 cubeMX 。实验目的了解 led 点亮原理cubeMX配置 GPIO 等相关函数 。 一、开发环境搭建。
代码编写软件 MDK keil5 。图形化配置软件 STM32cubeMX。仿真器驱动 STLINK 。串口驱动 CH340 。
对于以上软件的安装可以参考 最详细 keil5 和 cubeMX安装教程
二、LED 原理图解读 芯片的原理图如上图可以看到控制 LED1 的引脚是 PB4 。 灯 D1 的 右边接在 VCC 电源上如果 想要点亮 led , 需要将 led 的左侧 GPIO 引脚 PB4 设置为 低电平即可。那么该图是 低电平控制 led 。
高电平通常表示逻辑1可以是与电源电压相对应的电压例如3.3V或5V。低电平通常表示逻辑0可以是与地电压0V相对应的电压。
三、什么是 GPIO
GPIO 全称为通用输入输出General-Purpose Input/Output )是 连接外部设备的通用接口。用于与外部设备进行数字信号的输入和输出。它在嵌入式系统、单片机、单板计算机等领域都有广泛的应用使数字系统能够与外部世界互动和通信。 输入 GPIO 可以用于接受外部设备发送的数字信号如 按钮的状态传感器数据。获取外部数据或事件。 输出 GPIO 可以用于向外部设备发送数字信号如控制 LED 继电器电机等。 操作和控制外部设备。
四、cubeMX 配置工程
首先创建工程。 选择芯片开始创建工程。 设置 SYS 模块选择串行线。 选择晶体共振。 将 PB4 引脚设置为 gpio 输出口。 设置时钟频率。 直接设置为 最大频率 72 然后双击 enter 即可。 设置工程的名字工具链选择 MDK。 点击自动生成 .c / .h 文件。 . 点击生成即可。 这样就可以生成 keil 的工程文件。
五、解读 cubeMX 生成的代码
cubeMX 会自动生成 GPIO 初始化的代码。 代码解析
首先创建一个 GPIO 变量。
GPIO_InitTypeDef GPIO_InitStruct {0};GPIO 引脚的使能。 可以看到这里分别使能了 GPIOA , GPIOB , GPIOD 端口。 __HAL_RCC_GPIOD_CLK_ENABLE();__HAL_RCC_GPIOA_CLK_ENABLE();__HAL_RCC_GPIOB_CLK_ENABLE();
设置 GPIO 中PB4 引脚的输出电平。 这里设置的是输出低电平 GPIO_PIN_RESET。
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET);设置 GPIO 端口的引脚号模式上拉电阻速度。 GPIO_InitStruct.Pin GPIO_PIN_4;GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull GPIO_NOPULL;GPIO_InitStruct.Speed GPIO_SPEED_FREQ_LOW; 初始化引脚设置。
HAL_GPIO_Init(GPIOB, GPIO_InitStruct);六、延时函数
__weak void HAL_Delay(uint32_t Delay);uint32_t Delay 表示要延时时间以毫秒ms为单位。这是一个无符号的 32 位整数。 __weak 是一个弱符号。
七、控制引脚状态函数
GPIO 写函数 用于设置指定 GPIO 引脚输出状态。
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState
PinState);参数解释 GPIOx : 这是一个指向 GPIO_TypeDef 结构体的指针指定了要控制的GPIO端口例如GPIOA、GPIOB等。 GPIO_Pin : 这是一个16位的整数指定要设置的特定引脚。可以使用宏定义来指定要控制的引脚例如GPIO_PIN_0GPIO_PIN_1GPIO_PIN_2等。 PinState : 这是一个枚举类型 GPIO_PinState用于指定要写入的引脚状态。它有两个可能的值GPIO_PIN_RESET和GPIO_PIN_SET分别代表引脚输出低电平和高电平。
GPIO 翻转函数 这里的函数参数 和 写函数的参数大致相同可以参考 HAL_GPIO_WritePin 函数 。
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);点亮 LED
在 工程的 while 函数中使用 写函数 HAL_GPIO_WritePin 点亮 LED.
tips: 可以讲代码写在 BEGIN 和 END 之间这样当我们重新生成代码时 就不会造成代码销毁。
八、GPIO 的工作模式
GPIO的8种工作模式
输入模式Input ModeGPIO引脚被配置为输入模式时它可以接收外部设备发送的信号。引 脚可以检测输入信号的高电平或低电平并将其转换为数字值供系统使用。输出模式Output ModeGPIO引脚被配置为输出模式时它可以向外部设备发送信号。系统 可以控制引脚输出的高电平或低电平从而控制外部设备的行为。推挽输出模式Push-Pull Output Mode在推挽输出模式下GPIO输出引脚可以提供强驱动 电平。引脚在高电平和低电平之间切换可以提供较低的输出电阻适合驱动较重的负载。开漏输出模式Open-Drain Output Mode在开漏输出模式下GPIO输出引脚变为开漏输 出。引脚在低电平时为接地GND连接而在高电平时处于高阻态。这种模式适合与其他开漏设 备或外部上拉电阻结合使用。复用输入模式Alternate Function Input ModeGPIO引脚可以配置为复用输入模式用于 接收外部信号并执行特定功能。在此模式下引脚还可以用于其他功能例如定时器输入或串行通 信接口。复用输出模式Alternate Function Output ModeGPIO引脚可以配置为复用输出模式用 于将特定功能的输出信号发送到外部设备。在此模式下引脚还可以用于其他功能例如PWM输 出或串行通信接口。模拟模式Analog Mode有些GPIO引脚支持模拟模式可以用于连接模拟电路例如传感器 或音频设备。在模拟模式下引脚可以输入或输出连续的模拟电信号。中断模式Interrupt ModeGPIO引脚可以配置为中断模式以便在引脚状态发生变化时触发中断。这允许系统在无需不断轮询GPIO状态的情况下对引脚的变化进行响应。
九、为什么使用推挽输出驱动 LED
推挽输出可以提供稳定的高电平和低电平。能够提供较高的输出电流能力。可以连接到 LED为不需要外部的电流限制电阻。适用于数字信号的控制。 总结
下一篇文章将继续为大家介绍 STM32F103C8T6 使用 cubeMX 通过 按键 点亮 led。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929536.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!