NUCLEO-F412ZG出厂的程序是LED闪烁,按下按键可以切换不同的LED,分别是红蓝黄三个颜色的LED。
首先创建F412的工程,方便日后使用,这里我创建的工程目录结构和正点原子的一模一样,参照着正点原子阿波罗HAL的PDF进行的。
首先是上ST官网下载F4最新的Cube,官网最新版本显示1.14.0,但是下载后解压却是1.13.0。
下载完打开之前安装的CubeMx和NUCLEO-F412ZG的原理图进行引脚功能和时钟配置。最开始的工程是点亮LED和串口printf。原理图上三个LED和串口的引脚如下:
打开CubeMx后导入从官网下载的F4最新的库,然后选择芯片进行配置。
接下来生成工程,并在主函数中加入串口打印字符,编译烧录,LED点亮同时串口输出字符,说明LED和串口的配置正确了,接着按照正点原子的步骤自己在移植一个工程,从正点原子那下载阿波罗的PDF,跟着流程移植。
移植后从CubeMx生成的工程中把时钟初始化、串口和LED初始化移植过来,经过调试后程序是上图这样,可以看到时钟分频和倍频系数包装成函数,串口波特率也可以随意更改,也有位绑定和串口printf打印。烧录程序之后灯和串口都正常使用了,串口接收中断也正常。至此工程模板就创建完成。以下是创建过程中使用到的MKD、HAL库、NUCLEO-F412ZG的资料和完成的工程模板。
|