非常开心,收到了面包板发来的NUCLEO-L412KB开发板。收到开发板的第一感觉就是,这个开发板好Mini呀,但它不仅仅是体积上的小巧,更兼具更低功耗的设计需要。同时为设计人员提供了更大的发挥空间,突破各种设计资源的制约,不论是内核性能和能耗限制,还是空间尺寸和物料清单成本限制。上图先睹为快:
1.熟悉开发板
NUCLEO-L412KB开发板使用的主控MCU是STM32L412KBU6,32PIN封装。整个开发板使用Micro USB接口供电,板载ST-LINK调试工具,还带有虚拟串口的功能,给调试和编程带来了极大的方便。外设资源不多,仅留有一个用户可操作的LED灯,主要还是通过板载的Arduino™ Nano接口来对外设进行扩展开发。
2.熟悉STM32L412KBU6
这颗芯片采用的是Arm®Cortex®-M4的内核,封装类型为UFQFPN32,最高运行时钟频率可达到80MHz,属于ST超低功耗系列USB Device型MCU产品。具有128KBytes的FLASH空间和40 KBytes的SRAM空间,同时还带有DSP和浮点运算单元(FPU)以及100DMIPS的计算能力。
3.第一个点灯程序及Hello World
NUCLEO-L412KB在上电后就已经在运行出厂时内置的点灯程序了,但那又如何,这最多告诉我这个开发板是正常的。我还是要盘它^-^从一个最简单的程序切入。
从ST的官网上下载了关于NUCLEO-L412KB开发板的用户手册、原理图和STM32L412KBU6的数据手册。原理图上对于用户LED灯的控制引脚是PB3,与STLINK自带的虚拟串口相连接的是PA2和PA15这两个引脚,使用的USART2。
使用STM32CubeMX软件来构建NUCLEO-L412KB开发板的最小例程:LED灯间隔500ms闪烁,同时串口打印输出Hello World的信息。对GPIO和USART2进行设置,对系统的运行时钟进行配置,然后产生代码。
修改main函数实现LED灯控制和printf打印、增加fputc构造函数,如下图所示:
编译成功后,直接将程序下载到开发板,查看LED的运行状态,这是可以发现LED灯是每间隔500ms闪烁一次;打开串口监控工具,也查看到了每间隔1s会有一个Hello World的打印消息输出。
4.后续计划
对NUCLEO-L412KB开发板上STM32L412KBU6芯片的运行能力做一个测试、使用NUCLEO-L412KB驱动一个SPI 接口的LCD显示屏,做一些简单的UI显示。
5.示例程序:
全部回复 4