stm32 cube单片机编程入门

通过cube建立工程

stm32 cube单片机编程入门

文章插图
stm32 cube单片机编程入门

文章插图
stm32 cube单片机编程入门

文章插图
RCC设置为外部晶振
stm32 cube单片机编程入门

文章插图
stm32 cube单片机编程入门

文章插图
高速晶振对应的引脚会亮起
stm32 cube单片机编程入门

文章插图
进入clock configuration进行时钟配置,输入频率8M盒子
PLL Source Mu改为使用外部时钟HSE,系统时钟System Clock Mux使用PLLCLK,并且使能CSS
stm32 cube单片机编程入门

文章插图
将所需引脚配置为GPIO_OUTPUT
stm32 cube单片机编程入门

文章插图
GPIO标签内修改引脚信息
stm32 cube单片机编程入门

文章插图
最后建议在这里把Debug打开,不然可能以后就没法从JTAG调试,只能通过串口烧写程序了 。
stm32 cube单片机编程入门

文章插图
在project manager标签写好工程名称和目录
stm32 cube单片机编程入门

文章插图
选择generate report , 成功生产project reports(这步并不必要)
stm32 cube单片机编程入门

文章插图
stm32 cube单片机编程入门

文章插图
点击code generator,依据需要选择,然后在右上角GENERATE CODE
stm32 cube单片机编程入门

文章插图
目录下即获得工程
stm32 cube单片机编程入门

文章插图
在MDK-ARM目录下的以.uvprojx可以直接用keil打开
stm32 cube单片机编程入门

文章插图
我们熟悉的main.c就在"Application/User/Core" 目录之下
程序编写与下载
简单的编写,我甚至不想写标题
HAL生成的其他东西我们以后再看,今天就单纯地让它跑起来跑马灯 , 首先我们定位到main函数这里,可以看到预留了很多USER CODE的位置
stm32 cube单片机编程入门

文章插图
这里的HAL_GPIO_TogglePin()是Cube自动生成的函数,意思是引脚反转 , delay同样顾名思义 。
JLINK仿真器下载
这里设备一直保持BOOT0置低就可以了
stm32 cube单片机编程入门

文章插图
然后点开settings , 选择SW或者JTAG模式
stm32 cube单片机编程入门

文章插图
在keil中直接DOWNLOAD就可以了 , 十分省事 。
stm32 cube单片机编程入门

文章插图
串口方式下载
通过串口将设备与电脑相连
记得这种下载方式要设置BOOT0为1,BOOT1为0
我这里选用了意法半导体官方的Flash Loader Demonstrator,选好文件和COM口后开始编程
stm32 cube单片机编程入门

文章插图
识别成功的话能看到flash的大小
stm32 cube单片机编程入门

文章插图
甚至可以看到具体的页
stm32 cube单片机编程入门

文章插图
选择我们刚刚生成的hex文件,next
stm32 cube单片机编程入门

文章插图
文件是此目录下的HEX文件
stm32 cube单片机编程入门

文章插图
如果没有的话检查一下keil是否设置为生成hex
stm32 cube单片机编程入门

文章插图
ok下载成功
stm32 cube单片机编程入门

文章插图
给板子断电,然后把boot0恢复到低电平位置(不要带电操作)
上电!
stm32 cube单片机编程入门

文章插图
【stm32 cube单片机编程入门】ok,led亮了 。