M4与HAL观
算是比较系统的看一下STM32的CubMX与HAL库!基于F4与L4.
看到CubMX需要配置HSE(外部时钟),若硬件接了外部晶振,没有配置是否开启外部时钟的话,那外部晶振默认是工作的吗?
参考《STM32F4中文参考手册》
由RCC_CR的复位值,可以知道 复位后,只有内部振荡器开启了,所以要想作为系统时钟还得配置一下才行,这与CubMX一致。
也就是说默认的系统时钟是内部高速RC。
HAL库文件说明:
对于官网下到的HAL目录:
真正做项目时只用到Driver文件夹下文件,这个就是HAL库及CMSIS库
CMSIS提供了内核访问层和外设访问层。
STM32F4xx_HAL_Driver文件夹,则是片上外设部分的操作库 ,也就是一般意义上的HAL库。
摘录野火的,搞明白下面的图,可以说就会了一半了。
综上,其实HAL库与标准库,没什么大的改变,只是名称可能会有所不同,但用法及思路都是一样的。