链接
注意
接口文件xx.h | 实现文件xx.c | test文件test_xx.c |
---|---|---|
有 | 无 | 有 |
主要实现的是对外设的封装HAL,没有对更下层的BSP的适配。
工程概述
这是一个Amazon FreeRTOS的Common IO基础库,提供了硬件抽象层(HAL)来控制各种外设。它使用C语言实现了面向对象的设计模式来管理外设。
面向对象设计模式分析
1. 对象封装 (Object Encapsulation)
每个外设都定义了一个不透明的描述符结构体:
iot_gpio.h
/**
* @brief GPIO descriptor type defined in the source file.
*/
struct IotGpioDescriptor;
/**
* @brief IotGpioHandle_t type is the GPIO handle returned by calling iot_gpio_ope