HAL库的封装相当方便,基本上所有的外设的操作都大同小异,这里我们以UART和CAN为例。移植是从F407移植到F427IIHx上。
前置基本操作
-
打开魔法棒(options),在device中选择自己想要的芯片型号
-
在c/c++中做如图修改
-
修改startup文件为自己需要单片机对应的型号
UART
在usart.c中的 HAL_UART_MspInit中
对如下函数中提到的引脚做改变
(此处我需要用到的引脚是PB6,PB7,故修改成果如图)
在另一函数HAL_UART_MspDeInit中
做如下改变
CAN
can也是一样,此处不做过多赘述
最后效果展示
能够在debug中看到uart接收到遥控器信息
同样,可通过can读到电机数据
总结
HAL库的封装还是相当方便的
而且配合cubemx的使用使得我上述的操作有如画蛇添足
其实,本次学习笔记是为了移植一份标准库的代码而写的
没怎么学习过标准库,对于其底层并不是特别了解,所以准备使用移植这样的手段