
一: 如何新建工程 1:下载芯片支持包Keil.STM32Fxxxx.pack文件 1.进入KEIL5官网。 ![]() ![]() 找到自己的型号 ![]() ![]() ![]() 这样就下载了 芯片支持包了。 2:打开KEIL5 加载Keil.STM32Fxxxx.pack文件 .打开KEIL5 ![]() ![]() ![]() 把 下载的 Keil.STM32Fxxxx.pack文件 加载进去。 3:添加编写代码文件main.c 以及 添加启动文件 1.新建一个文件夹 我这里就叫STM32吧,我们所有的东西都方面去。 ![]() 2.在STM32文件夹里面新建一个.c文件 (main.c) 3.在你安装KEIL5软件的文件夹进入 Keil——STM32F1xx_DFP——2.3.0——Device——Source——ARM 我这里是用的STM32F103板子 启动文件名:startup_stm32f10x_hd.s 都放在STM32文件夹里面 如图所示: ![]() 4.在KEIL5新建工程 ![]() ![]() ![]() 我这里是STM32C8 ![]() 把刚我们新建的main.c 以及启动文件加载进到工程来 ![]() 加载后效果 ![]() 双击main.c 进行代码编写。 ![]() 二: 如何寄存器点灯 1:看单片机的原理图 找到LED灯 ![]() 这个灯是 PC13引脚 看原理图可以看出 让GPIOC13输出低电平 就能点亮 那么我们得让 打开控制GPIOC13的时钟 让GPIOC13 输出模式 让GPIOC13低电平 2:看中文参考手册配置寄存器 2.1:打开管 GPIOC13的时钟 时钟就相当于一个阀门开关,或者理解成水龙头,你打开了 才有水出来,也就是你打开才能工作。 看中文参考手册 系统架构 找到你的GPIOC 看看是谁管的。 ![]() 找到时钟的起始地址 也称为 基地址 ![]() 由于是APB2管 我们也要找到 APB2外设时钟使能寄存器的偏移地址 ![]() 要打开GPIOC13的时钟 时钟起始地址 + APB2外设时钟使能寄存器的偏移地址 = 控制GPIOC13的时钟的寄存器地址 0x4002 1000 + 0x18 = 0x4002 1018 如何打开呢 再中文参考手册继续参考 ![]() 在位4 中 1 为打开端口C时钟 那么我们就是 不改变其他位的情况下 用或 运算即可。
2.2:配置GPIOC13 为输出模式 1.找到GPIOC 的起始地址 (基地址) ![]() GPIOC 的起始地址:0x4001 1000 2。找到端口配置高寄存器偏移地址: ![]() 偏移地址:0x04 ![]() 0x4001 1000 + 0x04 = 0x4001 1004 设置成推挽输出 以及 输出模式 设置最大为10MHz:
2.3:让GPIOC13引脚输出低电平 1.找到端口输出数据寄存器 ![]() 偏移值:0x0c 在不影响其他位数据时,我们想让第13位输出低电平。
&运算例子: 1001 0111 我想让第3位为0 其他的不变 那么我们用到与操作 ![]() 三:代码整合及烧写
![]() 编译程序。把HEX文件烧写到板子上面。 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南