[STM32H5]喜得STM32H503RBT6-Nucleo

好久没拿到过ST的新品了,这次拿到一个STM32H503真的很惊讶又惊喜,因为一般大厂家的新的芯片大致能代表这个厂家的方向,还有就是整体嵌入式的大致发展方向。既然都说到这儿了,那一定要好好的“品味”一下STM32H5啦。
本次我拿到的是STM32H503RBT6-Nucleo,这ST的Nucleo就代表的是芯片的评估板,板载基本什么外设都没有,有的就是将芯片的IO尽数引出,方便工程师们进行芯片的评估与测试。接下来就看看STM32H503RBT6-Nucleo的板子上都有些啥吧。
打开包装盒子,里面有个说明手册和一个电路板,手册上大致告诉资料渠道。不过可以看出ST的包装比较用心了,用比较环保的纸盒,这一点比较给力。


 

图1 开发板开箱


拿起开发板,可以看出开发板的改变照比以往的开发板有很大的改变。首先说板载调试器方面,H5的板载调试器选择了ST比较新款的STlink V3的调试器,该调试器采用F723为主控,其调试速度与稳定性照比以往的STlink V2来说可要好不少。接下来要说的一个点就是ST改了以往常用的MicroUSB接口,换成了Type-C接口。这种是值得说一说的,因为电子产品的更新换代真的很快,现在手里已经很少有microUSB的接口数据线了,大多数都已经更换为Type-C接口的数据线,因此这里比较想说的是ST真的是与时俱进,既可以省掉数据线的成本,又可以解决工程师桌面数据线杂乱无章的问题。
这里我拿到开发板的时候还遇到一个小小的问题,就是如果使用不带数据功能的Type-c数据线接在STLINK接口的时候,开发板是未供电状态,后来换一根带数据功能的数据线给STM32H503RBT6-Nucleo接在电脑上,属实是OK的,电脑端会有个虚拟U盘,同时电脑可以识别出是STlink V3。
从图2上可以看出,属实板载没有什么多余的元件,少许的芯片仅仅是作为保护或者是电源存在,有两个按键,一个是复位按键,一个是用户按键,板载有LED,作为用户指示灯,预留个Type-c的USB接口,该接口作为MCU的USB输出。IO通过排针引出,同时引出一组arduino接口方便与其他arduino设备进行连接和拓展。

图2STM32H503RBT6-Nucleo开发板


看完硬件,就要搭建软件的环境了,说实话,针对软件部分我还是擅长使用标准库,可惜了,新款的ST的MCU都将不提供标准库了,都是HAL或者是LL库,同时支持cubemx创建底层的工程配置。既然这样,那就“入乡随俗”吧,本次将采用cubemx+keil 5 进行环境搭建。
之前电脑装过cubemx,因此合计就不用再装了,直接就用就好了,没想到给我报个错误。该错误的大致意思是不能创建工程,主要是没有加载该芯片的xml文件,既然这样就给cubemx升个级吧,只有升级估计才能解决这个问题。这里我升级后的cubemx的版本为:Version 6.8.1。

图3 cubemx创建工程报错


当升级完成之后,属实可以找到自己想要的对应的MCU型号了,本次由于使用的是官方开发板,因此可以在这里直接选择对应的电路板,选择自己需要的开发板之后点击开始即可创建可视化配置工程。


 

图4cubemx创建基本工程


创建好之后就可以通过配置IO,时钟,外设等等,这里我是直接默认的配置,因为我查看了一下,发现如果没有特殊需求和其他IO的使用,完全可以默认,直接创建工程。接下来就是配置保存名称和地址了。


 

图5创建基本工程完成


看到图5的界面之后,就可以打开工程了,这里打开工程的时候,提示我没有pack,需要安装个pack支持包,用keil的时候属实是需要这个支持包的,因此下载安装一下就好了。Arm Keil | Keil STM32H5xx_DFP(好久不去keil官网了,发现竟然改版了,不错,界面简洁了许多,很漂亮)

图6 pack下载位置

当安装好之后,就可以快乐的玩耍了。打开工程之后,查找关于LED和按键的端口定义,这里按键是PC13,LED是PA5。于是通过程序的读写函数实现对按键端口的状态读取,对LED的状态进行控制。
具体代码如下:

  if(0 == HAL_GPIO_ReadPin(B1_BLUE_USER_BUTTON_GPIO_Port, B1_BLUE_USER_BUTTON_Pin))
                {
                                HAL_GPIO_WritePin(USER_LED_GPIO_Port, USER_LED_Pin, GPIO_PIN_SET);                                
                }
                else
                                HAL_GPIO_WritePin(USER_LED_GPIO_Port, USER_LED_Pin, GPIO_PIN_RESET);        

至此,STM32H503RBT6-Nucleo的基本工程已经创建好了,通过按键可以实现灯状态的变化,总的来说,使用cubemx非常方便,尤其是针对新的MCU和HAL,可以快速上手。
---------------------
作者:yangjiaxu
链接:https://bbs.21ic.com/icview-3317780-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值