M4与HAL观

算是比较系统的看一下STM32的CubMX与HAL库!基于F4与L4.

 

看到CubMX需要配置HSE(外部时钟),若硬件接了外部晶振,没有配置是否开启外部时钟的话,那外部晶振默认是工作的吗?

参考《STM32F4中文参考手册》

M4与HAL观

由RCC_CR的复位值,可以知道 复位后,只有内部振荡器开启了,所以要想作为系统时钟还得配置一下才行,这与CubMX一致。

也就是说默认的系统时钟是内部高速RC。

 

HAL库文件说明:

对于官网下到的HAL目录:

M4与HAL观

真正做项目时只用到Driver文件夹下文件,这个就是HAL库及CMSIS库

M4与HAL观

CMSIS提供了内核访问层和外设访问层。

M4与HAL观

STM32F4xx_HAL_Driver文件夹,则是片上外设部分的操作库 ,也就是一般意义上的HAL库。

摘录野火的,搞明白下面的图,可以说就会了一半了。

M4与HAL观

综上,其实HAL库与标准库,没什么大的改变,只是名称可能会有所不同,但用法及思路都是一样的。