
开始正式测评前,需要准备一个基础的模板工程,后续的测评内容都在该工程的基础上修改 首先同步一下我的开发环境及软件 电脑:Windows 10 64位 STM32CubeMX版本:6.11.1 STM32CubeMX中U0 Pack包版本: 1.0.0 Keil版本:5.37.0.0 Keil中U0 Pack包版本:1.0.0 一. 模板工程创建 打开CUBEMX,选择从开发板开始创建工程 ![]() 通过左侧的筛选条件,找到U0开发板 ![]() 弹出的人际接口默认是把LED、按键、虚拟串口都选上了,这些都保持默认即可(如果后续不要可以在CUBE中关掉) ![]() 可以看到LED、按键、串口都被配置好了,都不需要用户再来手动配置 ![]() 来到Project Manager中设置工程名字和选择IDE,生成工程 ![]() 生成完毕后,会弹出如图提示框,我们选择直接打开工程,就会直接自动打开keil ![]() 全编译,没有错误没有警告 ![]() 下载选项中把烧录后自动运行勾上 ![]() 下载也没问题,那么模板工程就创建好了(但是还不能直接使用,主要是串口还不能马上使用,还需要稍微修改一下,详见下面的BSP使用) ![]() 二. BSP的使用 BSP的各个函数在stm32u0xx_nucleo.c中,需要调用什么函数可以去这里看 2.1 LED 在文件中LED相关函数后初始化、去初始化、亮灯、灭灯、翻转、获取灯的状态 其中初始化已经由CUBE自动配置调用了,我们直接使用即可,自动生成的LED初始化函数调用如下 ![]() 这边以LED的闪烁为例,这里用了on、off函数和Toggle函数两种方式实现了LED的闪烁
![]() 2.2 虚拟串口 自动生成的串口的初始化函数调用如图 ![]() 虚拟串口主要是要做打印输出,一般使用printf,但是当前工程不能直接使用printf,需要做一下printf重定向
![]() Keil中开启一下Micro LIB ![]() 增加一下printf函数,测试一下他能否正常工作
![]() 编译烧录,打开串口软件,复位芯片,有打印输出 ![]() 2.3按键 BSP默认是把按键做成了中断触发,stm32u0xx_nucleo.c中有一个叫BSP_PB_Callback的虚函数,当按键按下后就会调用这个函数,用户就只需要关注实现BSP_PB_Callback,在这里面处理按键按下后的业务
![]()
![]() USER按键按下后LED就会进行翻转 模板工程(额外增加了define,替换了上文中#if后面的1): ![]() |
流程写的很详细,可以按照之前申请的内容再扩展一下 |
【P-NUCLEO-53L8A1评测】不同距离和光强的测试
【STM32U3评测】SPIDMA发送
【STM32U3评测】实现双通道串口通信系统
STM32N6坛友评测出炉,来围观(第二波预约继续)
【STM32C0评测】GPIO测试:使用外部中断控制小灯点亮熄灭
【STM32C0测评】Nucleo-C092开发板功耗测试
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(软件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件软件IIC一网打尽)
【STM32C0测评】Nucleo-C092开发板USART串口测试