MCU单片机MCU微控制MCU芯片-STM32 HAL库时需要注意的几个点
你的位置:MCU单片机MCU微控制MCU芯片 > 芯片资讯 > STM32 HAL库时需要注意的几个点
STM32 HAL库时需要注意的几个点
发布日期:2024-02-07 11:08     点击次数:97

STM32的HAL库是 Hardkernel 用于提出的一个 STM32F 用于简化操作,提高开发效率的系列微控制器库。但是 HAL 还有一些地方需要注意,如果不注意,可能会踩到一些坑。

以下是使用 STM32 HAL 库中需要注意的几点:

无法使用 JTAG/SWD 下载:如果在cubeMX中选择Serial的调试模式 Wire(默认为JTAG)会导致JTAG/SWD无法下载程序。在cubeMX中选择正确的调试模式是必要的。 I2C 初始化顺序问题:使用HAL库进行I2C初始化时,需要先初始化GPIO,再打开I2C时钟。否则会导致HAL_I2C_Master_Send()函数执行失败。 中断处理问题:在STM32HAL库中,中断处理函数的入口由HAL库而非编译器提供。因此,在使用HAL库时,需要手动注册中断处理函数,并在初始化函数中配置。 时钟配置问题:使用HAL库时,需要特别注意时钟配置。如果时钟配置不正确,系统可能无法正常工作。例如,如果使用错误的时钟源或时钟倍率,可能会导致系统运行异常。 移植问题:不同系列STM32芯片的寄存器命名和函数接口可能不同。因此,在将HAL库移植到其它芯片系列时,需要仔细检查和修改代码。

简而言之,使用STM32 HAL库可以大大简化开发工作,但在使用过程中要注意以上问题,避免踩坑。