文章目录
- 1. 开篇
- 2. 开发环境搭建
- 2.1 下载官方例程
- 2.2 ST-Link安装
- 3. STM32F446ZE demo工程
- 3.1 STM32F446ZE简介
- 3.2 跑个demo试一试
1. 开篇
最近做项目,用到STM32F446ZET6这款MCU,为了赶进度,前期软件需要提前开发,于是在某宝买了对应主控的官方开发板,为了避免遗忘,后面能翻出来回忆一些细节,就形成了本篇的主要内容,同时也希望能够帮助刚上手的小伙伴少走弯路,如果对你有帮助请点赞、收藏、转发,谢谢!
2. 开发环境搭建
开发环境一般是ST官方的STM32CubeIDE和MDK(Keil),博主用的是Keil,关于STM32CubeIDE和Keil的安装不是本篇的重点,在此就不赘言。默认你已经安装到位并能熟练使用。
开发板的资源可以在下面的资源页面中下载:
STM32F446ZE MCU的STM32 Nucleo-144开发板资源页面
主要参考:
【1】UM1727 用户手册 STM32 Nucleo板软件开发工具入门.pdf
【2】MB1137 开发板原理图.pdf
【3】UM1974 User manual STM32 Nucleo-144 boards (MB1137).pdf
在本篇的绑定资源中也已经为大家准备好了,请根据需求自行下载。
2.1 下载官方例程
例程资源包下载链接
下载完后是这样的:
解压开后,我们找到一个例程,拷贝一份,用Keil打开,准备编译、烧录:
2.2 ST-Link安装
如果自己的电脑之前没有用过ST-Link调试器,那就先安装一下:
ST-Link驱动下载页面
STSW-LINK009驱动下载页面
下载成功后,解压:
根据自己的系统安装对应的驱动,安装成功后,查看设备管理器,确认是否已经识别板子:
在Keil工程中,选择ST-Link Debugger:
确认Keil已经识别到了板子:
3. STM32F446ZE demo工程
3.1 STM32F446ZE简介
STM32F446xC/E设备基于高性能Arm®Cortex®-M4 32位RISC内核,工作频率高达180 MHz。Cortex-M4核心采用浮点单元(FPU)单精度,支持所有Arm®单精度数据处理指令和数据类型。它还实现了一整套DSP指令和一个增强应用程序安全性的内存保护单元(MPU)。
STM32F446xC/E设备包含高速嵌入式存储器(高达512 KB的闪存,高达128 KB的SRAM)、高达4 KB的备份SRAM,以及连接到两条APB总线、两条AHB总线和一个32位多AHB总线矩阵的大量增强型I/O和外围设备。
所有设备都提供三个12位ADC、两个DAC、一个低功耗RTC、十二个通用16位定时器,包括两个用于电机控制的PWM定时器和两个通用32位定时器。
它们还具有标准和高级通信接口。
资源总览:
所有功能:
- core:带FPU的Arm®32位Cortex®-M4 CPU、允许从闪存执行0等待状态的自适应实时加速器(ART加速器)、频率高达180 MHz、MPU、225 DMIPS/1.25 DMIPS/MHz(Dhrystone 2.1)和DSP指令;
- 存储
- 512 KB的闪存
- 128 KB的SRAM
- 具有高达16位数据总线的灵活外部存储器控制器:SRAM、PSRAM、SDRAM/LPSSDR SDRAM、NOR/NAND闪存
- 双模式QuadSPI接口
- LCD并行接口,8080/6800模式
- 时钟、重置和供应管理
- 1.7 V至3.6 V应用电源和I/O
- POR、PDR、PVD和BOR
- 4至26 MHz晶体振荡器
- 内部16 MHz工厂微调RC(1%精度)
- 带校准的RTC 32 kHz振荡器
- 带校准的内部32 kHz RC
- 低功率
- 睡眠、停止和待机模式
- 用于RTC的VBAT电源、20×32位备份寄存器以及可选的4 KB备份SRAM
- 3×12位,2.4 MSPS ADC:最多24个通道,三重交织模式下7.2 MSPS
- 2×12位D/A转换器
- 通用DMA:具有FIFO和突发支持的16流DMA控制器
- 最多17个定时器:2个看门狗,1个SysTick定时器,最多12个16位和2个32位定时器,最高180 MHz,每个定时器最多4个IC/OC/PWM或脉冲计数器
- 调试模式
- SWD和JTAG接口
- Cortex®-M4 Trace Macrocell™
- 最多114个具有中断功能的I/O端口
- 高达111个快速I/O,最高可达90 MHz
- 多达112个 5 V容错I/O
- 多达20个通信接口
- SPDIF Rx
- 多达4×I2C接口(SMBus/PMBus)
- 最多四个USART和两个UART(11.25 Mbit/s,ISO7816接口,LIN,IrDA,调制解调器控制)
- 最多四个SPI(45Mbits/s),其中三个具有多路复用I2S,通过内部音频PLL或外部时钟实现音频类精度
- 2x SAI(串行音频接口)
- 2×CAN(2.0B有源)
- SDIO接口
- 消费电子控制(CEC)I/F
- 高级连接
- 带片上PHY的USB 2.0全速设备/主机/OTG控制器
- USB 2.0高速/全速设备/主机/OTG控制器,带专用DMA、片上全速PHY和ULPI
- 专用USB电源导轨可在整个MCU电源范围内实现片上PHY操作
- 8至14位并行摄像头接口,最高可达54兆字节/秒
- CRC计算单元
- RTC:亚秒精度,硬件日历
- 96位唯一ID
3.2 跑个demo试一试
板子上电自带程序,按键按下LD1、LD2、LD3切换两灭。
我们烧录一个串口demo试试:
查看原理图,串口3和ST-LINK调试器在同一个USB口上:
看一下时钟配置:
配的是内部时钟
看一下串口配置:
修改了一个demo代码,加了个循环打印
烧录进去后,打开串口助手,看看效果:
至此,STM32 Nucleo-144开发板STM32F446ZET6的bring-up完成。