由于 GPIO 需要配置每个引脚的引脚复用功能,中断类型,驱动能力,上下拉,输出/输入数据,输入/输出方向等等,所以对 GPIO 的这些配置都封装在一个 enum 枚举结构里面,方便使用。下面是一些配置的定义。想要了解更多的可以到 hal_gpio.h 查看
platform-gpio.h主要包含 GPIO 控制器基地址、GPIO 中断号、pin 的声明等信息 gpio-sun20iw2.c主要包含每个平台的 GPIO 描述符配置 模块接口说明 数据结构 由于GPIO 需要配置每个引脚的引脚复用功能,中断类型,驱动能力,上下拉,输出/输入数据,输入/输出方向等等,所以对 GPIO 的这些配置都封装在一个 enum 枚举结构...
platform-gpio.h主要包含 GPIO 控制器基地址、GPIO 中断号、pin 的声明等信息 gpio-sun20iw2.c主要包含每个平台的 GPIO 描述符配置 模块接口说明 数据结构 由于GPIO 需要配置每个引脚的引脚复用功能,中断类型,驱动能力,上下拉,输出/输入数据,输入/输出方向等等,所以对 GPIO 的这些配置都封装在一个 enum 枚举结构...
void HAL_Set_Pin_Function(pin_t pin, PinFunction pin_func); hal_pin_info_t* hal_pin_map(void); PinFunction hal_pin_validate_function(hal_pin_t pin, PinFunction pinFunction); void hal_pin_set_function(hal_pin_t pin, PinFunction pin_func); #define PIN_INVALID 0xff #include "pinmap...
static HI_VOID sensor_pinmux_config(void) { HI_U32 i = 0; sensor_pin_mux(); for (i = 0; i < MAX_SENSOR_NUM; i++) { if (g_stSensorCfg[i].enSensortype == PDT_INIT_SENSOR_TYPE_I2C) { //因为上文已经用了这个,所以会用到这一路的I2C1 if (0 == g_stSensorCfg[i].u32...
static HI_VOID sensor_pinmux_config(void) { HI_U32 i = 0; sensor_pin_mux(); for (i = 0; i < MAX_SENSOR_NUM; i++) { if (g_stSensorCfg[i].enSensortype == PDT_INIT_SENSOR_TYPE_I2C) { //因为上文已经用了这个,所以会用到这一路的I2C1 if (0 == g_stSensorCfg[i].u32...
static HI_VOID sensor_pinmux_config(void) { HI_U32 i = 0; sensor_pin_mux(); for (i = 0; i < MAX_SENSOR_NUM; i++) { if (g_stSensorCfg[i].enSensortype == PDT_INIT_SENSOR_TYPE_I2C) { //因为上文已经用了这个,所以会用到这一路的I2C1 if (0 == g_stSensorCfg[i].u32...
#defineSAM_PINMUX_FUNC_gpio0U /** Selects pin to be used as by some peripheral */ #defineSAM_PINMUX_FUNC_periph1U #defineSAM_PINMUX_FUNC_periph1U /** Selects pin to be used as extra function */ #defineSAM_PINMUX_FUNC_extra2U ...
#define SAM_PINMUX_FUNC_gpio 0U /** Selects pin to be used as by some peripheral */ #define SAM_PINMUX_FUNC_periph 1U #define SAM_PINMUX_FUNC_periph 1U /** Selects pin to be used as extra function */ #define SAM_PINMUX_FUNC_extra 2U #define SAM_PINMUX_FUNC_extra 2U /** ...