STMCU小助手
发布时间:2023-1-5 21:17
|
首先,总结全文,用STM32f103c8点亮LED的大概步骤为: 1.定义GPIO口结构体 2.使能相关gpio口的时钟 3.如果GPIO口有其他重映射功能,先失能其重映射。 4.操纵相应GPIO口,实现LED灯的亮灭。 下面详细解释具体步骤: 1,定义GPIO口 库函数中GPIO结构体:
根据库函数,博主是这样定义的:
根据此结构体就可以明确使用GPIOx口的某个引脚,引脚的最大速率以及引脚的使用模式。 模式分别有:模拟输入模式,浮空输入模式(复位口的状态)、上拉/下拉输入模式、通用推挽输出模式、通用开漏输出模式、复用功能推挽输出模式、复用功能开漏输出模式。 速率可根据相应要求,设置为10Mhz、2Mhz、50Mhz。 接下来给GPIO口赋值:
2.使能相关gpio口的时钟 函数库中相关的函数为:
详细内容请自查。 博主用的STM32板子上GPIOB的第3引脚连接了LED灯,但是根据STM32中文手册,这个引脚重映射了,所以要关闭其重映射,才可以用GPIOB_Pin_3引脚。
调整引脚映射需要用到这个库函数:
另外,对寄存器AFIO_MAPR,AFIO_EXTICRX和AFIO_EVCR进行读写操作前,应当首先打开AFIO时钟。 AFIO_MAPR:配置复用功能重映射 AFIO_EXTICRX:配置外部中断线映射 AFIO_EVCR: 配置EVENTOUT事件输出
4.控制引脚信号,实现LED灯的亮灭 定义了GPIO口变量,又使能了时钟,这样相关引脚就可以直接控制了。
可以通过GPIO寄存器BRR、BSRR来设置相关引脚的信号。 简单地说: 对于低16位而言,BRR是用来置0的,BSRR是用来置1的。 对于高16位而言,BRR的高16位保留,BSRR的高16位是用来置0的。 具体的请自查STM32中文手册115页。 因为PB3引脚接着一个电源,故PB3为低电平时灯亮,高电平时灯灭。 详细代码如下:
———————————————— 版权声明:家安 |
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
一个软件引起的 LSE 驱动不良的问题
STM32 GUI LTDC 最大像素时钟评估方法
STM32 Cordic 运算速度评估
全新OpenSTLinux 6.1版本发布
ST-LINK Utility介绍、下载、安装和使用教程
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
微信公众号
手机版