CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

System驱动API描述

System驱动的API主要包括:

表 27 System驱动的APIs
API类别 API名称 描述
初始化 hal_init() 初始化System驱动。
hal_deinit() 反初始化System驱动。
hal_msp_init() 初始化System驱动相关的时钟、GPIO、中断等配置。
hal_msp_deinit() 反初始化System驱动相关的时钟、GPIO、中断等配置。
hal_init_tick() 初始化SysTick。
控制 hal_suspend_tick() 暂停并挂起当前的Tick计数。
hal_resume_tick() 恢复当前的Tick计数。
状态及错误 hal_get_hal_version() 获取当前的hal驱动版本号。

下面章节将对各API进行详细描述。

hal_init

表 28 hal_init接口
函数原型

hal_status_t hal_init(void)

功能说明

初始化System驱动,并调用hal_init_tick()完成Tick的初始化配置。

输入参数

返回值

HAL状态,该参数可以是下列值中的任意一个:

  • HAL_OK(正常)
  • HAL_ERROR(运行错误)
  • HAL_BUSY(忙)
  • HAL_TIMEOUT(超时)
备注

程序开始运行时需要调用该API。如果Tick计数源为SysTick,则需重写SysTick_IRQHandler,否则轮询方式的API会被永远轮询,导致程序无法继续执行。

hal_deinit

表 29 hal_deinit接口
函数原型

hal_status_t hal_deinit(void)

功能说明

反初始化System驱动,禁用Tick。

输入参数

返回值

HAL状态。

备注

hal_msp_init

表 30 hal_msp_init接口
函数原型

void hal_msp_init(void)

功能说明

初始化System驱动相关的时钟、GPIO、中断等配置。

输入参数

返回值

备注

该函数为weak类型的空函数,开发者可重写该API以进行相关GPIO、中断等的初始化配置。

hal_msp_deinit

表 31 hal_msp_deinit接口
函数原型

void hal_msp_deinit(void)

功能说明

反初始化System驱动相关的时钟、GPIO、中断等配置。

输入参数

返回值

备注

该函数为weak类型的空函数,开发者可重写该API以进行相关GPIO、中断等的反初始化配置。

hal_init_tick

表 32 hal_init_tick接口
函数原型

hal_status_t hal_init_tick(uint32_t tick_priority)

功能说明

初始化Tick的默认计数源SysTick,设置计数间隔为1 ms,并设置中断优先级为tick_priority。

输入参数

tick_priority:需要设置的SysTick优先级,取值范围为0 ~ 15。

返回值

HAL状态。

备注

该函数为weak类型,且会在hal_init()中被自动调用。如果开发者需要采用其他Tick计数源,可以重写该API。

hal_suspend_tick

表 33 hal_suspend_tick接口
函数原型

void hal_suspend_tick(void)

功能说明

暂停并挂起Tick计数。

输入参数

返回值

备注

该函数为weak类型,开发者可根据实际应用重写该API。

hal_resume_tick

表 34 hal_resume_tick接口
函数原型

void hal_resume_tick(void)

功能说明

恢复Tick计数。

输入参数

返回值

备注

该函数为weak类型,开发者可根据实际应用重写该API。

hal_get_hal_version

表 35 hal_get_hal_version接口
函数原型

uint32_t hal_get_hal_version(void)

功能说明

获取HAL驱动的版本号。

输入参数

返回值

HAL版本号:格式为0xAaBbCcDd,其中Aa为主版本号、Bb为子版本号1、Cc为子版本号2、Dd为候选发布版本号,例如:v0.0.1.0版本号表示为0x00000100。

备注

扫描关注

打开微信,使用“扫一扫”即可关注。