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

HAL公共资源

在GR551x的HAL驱动中,各个外设模块使用的公共枚举、结构体、宏定义在gr55xx_hal_def.h中,包括如下内容:

  • HAL状态:HAL状态用于除布尔函数及中断处理函数之外的API接口,表示API的运行状态。其定义如下:
    typedef enum 
    {
        HAL_OK       = 0x00U,
        HAL_ERROR    = 0x01U,
        HAL_BUSY     = 0x02U,
        HAL_TIMEOUT  = 0x03
    } hal_status_t;
  • HAL锁:HAL锁用于避免共享资源的非法访问,其定义如下:
    typedef enum 
    {
        HAL_UNLOCKED = 0x00U,
        HAL_LOCKED   = 0x01
    } hal_lock_t;
  • 公共宏:主要包括超时机制中的最大延时宏、外设与DMA实例句柄的连接宏、用于消除未使用参数编译警报的宏等,其定义如下:
    #define HAL_MAX_DELAY      0xFFFFFFFFU
    
    #define __HAL_LINKDMA(__HANDLE__, __PPP_DMA_FIELD_, __DMA_HANDLE_)  \
    do{                                                                 \
              (__HANDLE__)->__PPP_DMA_FIELD_ = &(__DMA_HANDLE_);        \
              (__DMA_HANDLE_).p_parent = (__HANDLE__);                  \
    } while(0U)
    
    #define UNUSED(x) ((void)(x))

扫描关注

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