BP10xx-GPIO
以下是根据你提供的代码,整理出的函数定义、宏定义和结构体的中文表格说明:
函数定义说明
函数名 | 功能描述 | 参数说明 | 返回值说明 |
---|---|---|---|
GPIO_RegOneBitSet | 只置位 1bit | RegIndex :GPIO 地址索引,例如: GPIO_A_OUT ; GpioIndex :GPIO bit 位,例如:GPIO_INDEX1 | 无 |
GPIO_RegOneBitClear | 只清零 1bit | RegIndex :GPIO 地址索引,例如: GPIO_A_OUT ; GpioIndex :GPIO bit 位,例如:GPIO_INDEX1 | 无 |
GPIO_RegOneBitGet | 读取 1bit 数据 | RegIndex :GPIO 地址索引,例如: GPIO_A_IN ; GpioIndex :GPIO bit 位,例如:GPIO_INDEX1 | 1 或 0 |
GPIO_RegBitsSet | 置位多 bits | RegIndex :GPIO 地址索引,例如: GPIO_A_OUT ; mask :GPIO bit 位,例如:GPIO_INDEX1 | 无 |
GPIO_RegBitsClear | 清除多 bits | RegIndex :GPIO 地址索引,例如: GPIO_A_OUT ; GpioIndex :bit 位,例如:GPIO_INDEX1 | 无 |
GPIO_RegSet | 设置一组 GPIO 数据 | RegIndex :GPIO 地址索引,例如: GPIO_A_OUT ; mask :GPIO bit 位,例如:`GPIO_INDEX1 | GPIO_INDEX2` |
GPIO_RegGet | 读取一组 GPIO 数据 | RegIndex :GPIO 地址索引,例如: GPIO_A_OUT | GPIO 值 |
GPIO_INTEnable | 使能 GPIO 某一 bit 的中断功能 | RegIndex :GPIO 中断地址索引,例如: GPIO_A_INT ; GpioIndex :bit 位,例如 GPIO_INDEX1 ; TrigType :触发极性,例如 GPIO_NEG_EDGE_TRIGGER 触发 | 无 |
GPIO_INTDisable | 禁能 GPIO 某一 bit 的中断功能 | RegIndex :GPIO 中断地址索引,例如: GPIO_A_INT ; GpioIndex :bit 位,例如 GPIO_INDEX1 | 无 |
GPIO_INTFlagGet | 获取 GPIO 的中断状态 | RegIndex :GPIO 中断地址索引,例如: GPIO_A_INT_FLAG | 一组 GPIO 的中断状态 |
GPIO_INTFlagClear | 清除某一位 GPIO 的中断状态 | RegIndex :GPIO 中断地址索引,例如: GPIO_A_INT_FLAG ; GpioIndex :GPIO bit 位,例如 GPIO_INDEX1 | 无 |
GPIO_OutMaskSet | GPIO 输出掩码位设置, 当 CPU/DMA 访问 A_REG_O/B_REG_O 寄存器时生效 | RegIndex :GPIO 中断地址索引,例如: GPIO_A_INT_FLAG ; OutMask :GPIO_OUTMASK_CORE (当 CPU 访问 A_REG_O/B_REG_O 寄存器时生效)、GPIO_OUTMASK_DMA (当 DMA 访问 A_REG_O/B_REG_O 寄存器时生效); GpioIndex :GPIO bit 位,例如 GPIO_INDEX1 | 成功返回 TRUE ,失败返回 FALSE |
GPIO_OutMaskClear | 清除 GPIO 输出掩码 | RegIndex :GPIO 中断地址索引,例如: GPIO_A_INT_FLAG ; OutMask :GPIO_OUTMASK_CORE (当 CPU 访问 A_REG_O/B_REG_O 寄存器时生效)、GPIO_OUTMASK_DMA (当 DMA 访问 A_REG_O/B_REG_O 寄存器时生效) | 成功返回 TRUE ,失败返回 FALSE |
GPIO_PortAModeSet | 设置 GPIOA 端口复用关系 | port :GPIO port,例如: GPIOA10 ; GpioMode :GPIO 模式, 0 代表使用为普通 GPIO 口,其他值参考 GPIO_PortA 注释 | 无 |
GPIO_PortBModeSet | 设置 GPIOB 端口复用关系 | port :GPIO port,例如: GPIOB0 ; GpioMode :GPIO 模式, 0 代表使用为普通 GPIO 口,其他值参考 GPIO_PortB 注释 | 无 |
GPIO_PortAModeGet | 获取 GPIOA 模式 | port :GPIO A port,例如: GPIOA10 | GpioMode:GPIO 模式, 0 代表使用为普通 GPIO 口,其他值参考 GpioPort 注释 |
GPIO_PortBModeGet | 获取 GPIOB 模式 | port :GPIO B port,例如: GPIOB1 | GpioMode:GPIO 模式, 0 代表使用为普通 GPIO 口,其他值参考 GpioPort 注释 |
GPIO_TimerRemapConfig | GPIO 的 PWC 输入选择配置 | TimerSel :Timer port select [Timer3~Timer6](TIMER_INDEX 枚举类型); GpioTimerRemapIndex :(GPIO_TimerRemapIndex 枚举类型) | 成功返回 TRUE ,失败返回 FALSE |
GPIO_PortAPulldownSet | 设置 GPIOA 端口下拉电流源模式 | Port :GPIO A port,例如: GPIOA1 ; PullDownModeSel :下拉电流源的 模式: GPIO_PortA_PULLDOWN_Close :0mA(bit:A0~A31); GPIO_PortA_PULLDOWN_1MA3 :1.3mA(bit:A5~A17;A24~A25;A30~A31); GPIO_PortA_PULLDOWN_2MA6 :2.6mA(bit:A0~A31); GPIO_PortA_PULLDOWN_3MA9 :3.9mA(bit:A5~A17;A24~A25;A30~A31) | 成功返回 TRUE ,失败返回 FALSE |
GPIO_PortBPulldownSet | 设置 GPIOB 端口下拉电流源模式 | Port :GPIO B port,例如: GPIOB1 ; PullDownModeSel :下拉电流源的 模式: GPIO_PortB_PULLDOWN_Close :0mA(bit:B0~B7); GPIO_PortB_PULLDOWN_2MA4 :2.4mA(bit:B0~B3;B6~B7); GPIO_PortA_PULLDOWN_1MA3 :1.3mA(bit:B4~B5); GPIO_PortA_PULLDOWN_2MA6 :2.6mA(bit:B4~B5); GPIO_PortA_PULLDOWN_3MA9 :3.9mA(bit:B4~B5) | 成功返回 TRUE ,失败返回 FALSE |
GPIO_PortAOutDsSet | 设置 GPIOA 端口输出驱动能力模式 | PortAGpioIndex :例如: GPIO_INDEX1 (即为 GPIO_A1 ); PortAOutDsModeSel :输出驱动能力的模式选择: GPIO_PortA_OUTDS_CLOSE :0mA(bit:A0~A31); GPIO_PortA_OUTDS_4MA :4mA(bit:A0~A4;A18~A23;A26~A29); GPIO_PortA_OUTDS_8MA :8mA(bit:A0~A31); GPIO_PortA_OUTDS_24MA :24mA(bit:A5~A17;A24~A25;A30~A31) | 成功返回 TRUE ,失败返回 FALSE |
GPIO_PortBOutDsSet | 设置 GPIOB 端口输出驱动能力模式 | PortBGpioIndex :GPIO_INDEX1 (即为 GPIO_B1 ); PullDownModeSel :下拉电流源的 模式: GPIO_PortB_OUTDS_CLOSE :0mA(bit:B0~B7); GPIO_PortB_OUTDS_4MA :4mA(bit:B0~B3;B6~B7); GPIO_PortB_OUTDS_8MA :8mA(bit:B0~B3;B6~B7); GPIO_PortB_OUTDS_19MA :19mA(bit:B4~B5); GPIO_PortB_OUTDS_34MA :34mA(bit:B4~B5) | 成功返回 TRUE ,失败返回 FALSE |
GPIO_RegisterResetMask | 避免不需要的复位源复位 gpio 寄存器,仅在电源上电复位时复位 gpio 寄存器 | 无 | 无 |
GPIO_ConfigGpioC0GeneralPin | GPIOC0 配成输入或输出模式 | pin_feature :GPIOC0 模式: DIGITAL_IN : 输入模式 DIGITAL_OUT : 输出模式 | 无 |
GPIO_ConfigGpioC0High | GPIOC0 输出高电平 | 无 | 无 |
GPIO_ConfigGpioC0Low | GPIOC0 输出低电平 | 无 | 无 |
GPIO_GetGpioC0 | 获取 GPIOC0 电平 | 无 | 1:高电平; 0:低电平 |
GPIO_RegGpioC0Set | 将 GPIOC0 相应的寄存器置 1 | RegIndex :GPIOC0 寄存器索引 | 无 |
GPIO_RegGpioC0Clear | 将 GPIOC0 相应的寄存器清 0 | RegIndex :GPIOC0 寄存器索引 | 无 |
GPIO_GpioC0ModeSet | 设置 GPIOC0 复用关系 | Mode :复用关系 | 无 |
宏定义说明
宏名 | 功能描述 |
---|---|
RESTORE_TO_GENERAL_IO | 用于将复用 io 恢复为通用 io 的参数值(0xFF) |
GPIO_A_START | GPIO Bank A 的起始寄存器索引(0x00) |
GPIO_A_IN | GPIOA 输入数据寄存器宏 |
GPIO_A_OUT | GPIOA 输出数据寄存器宏 |
GPIO_A_SET | 未明确说明具体功能,推测与 GPIOA 输出设置相关 |
GPIO_A_CLR | 未明确说明具体功能,推测与 GPIOA 输出清除相关 |
GPIO_A_TGL | 未明确说明具体功能,推测与 GPIOA 输出翻转相关 |
GPIO_A_IE | GPIOA 输入使能寄存器宏,0:禁用,1:启用 |
GPIO_A_OE | GPIOA 输出使能寄存器宏,0:禁用,1:启用 |
GPIO_A_ANA_EN | 未明确说明具体功能,推测与 GPIOA 模拟功能使能相关 |
GPIO_A_PU | GPIOA 上拉寄存器宏 |
GPIO_A_PD | GPIOA 下拉寄存器宏,{pu,pd} 2'b00:无上拉,无下拉;2'b01:下拉;2'b10:上拉;2'b11:无上拉,无下拉 |
GPIO_A_CORE_OUT_MASK | 未明确说明具体功能,推测与 GPIOA 核心输出掩码相关 |
GPIO_A_DMA_OUT_MASK | 未明确说明具体功能,推测与 GPIOA DMA 输出掩码相关 |
GPIO_A_OUT_MASK | 等同于 GPIO_A_CORE_OUT_MASK |
GPIO_A_END | GPIO Bank A 的结束寄存器索引(等于 GPIO_A_DMA_OUT_MASK ) |
GPIO_B_START | GPIO Bank B 的起始寄存器索引(GPIO_A_END + 1 ) |
GPIO_B_IN | GPIOB 输入数据寄存器宏 |
GPIO_B_OUT | GPIOB 输出数据寄存器宏 |
GPIO_B_SET | 未明确说明具体功能,推测与 GPIOB 输出设置相关 |
GPIO_B_CLR | 未明确说明具体功能,推测与 GPIOB 输出清除相关 |
GPIO_B_TGL | 未明确说明具体功能,推测与 GPIOB 输出翻转相关 |
GPIO_B_IE | GPIOB 输入使能寄存器宏,0:禁用,1:启用 |
GPIO_B_OE | GPIOB 输出使能寄存器宏,0:禁用,1:启用 |
GPIO_B_ANA_EN | 未明确说明具体功能,推测与 GPIOB 模拟功能使能相关 |
GPIO_B_PU | GPIOB 上拉寄存器宏 |
GPIO_B_PD | GPIOB 下拉寄存器宏,{pu,pd} 2'b00:无上拉,无下拉;2'b01:下拉;2'b10:上拉;2'b11:无上拉,无下拉 |
GPIO_B_CORE_OUT_MASK | 未明确说明具体功能,推测与 GPIOB 核心输出掩码相关 |
GPIO_B_DMA_OUT_MASK | 未明确说明具体功能,推测与 GPIOB DMA 输出掩码相关 |
GPIO_B_OUT_MASK | 等同于 GPIO_B_CORE_OUT_MASK |
GPIO_B_END | GPIO Bank B 的结束寄存器索引(等于 GPIO_B_DMA_OUT_MASK ) |
GPIO_GLB_INTE | 未明确说明具体功能,推测与 GPIO 全局中断使能相关 |
GPIO_A_INT | GPIO Bank A 单独中断相关的起始寄存器索引(GPIO_B_END + 2 ) |
GPIO_A_SEP_INTE | GPIOA [31:0] 单独中断使能寄存器宏 |
GPIO_A_SEP_NTRIG | 未明确说明具体功能,推测与 GPIOA 下降沿触发相关 |
GPIO_A_SEP_PTRIG | 未明确说明具体功能,推测与 GPIOA 上升沿触发相关 |
GPIO_A_SEP_INTC | 未明确说明具体功能,推测与 GPIOA 中断控制相关 |
GPIO_A_SEP_INTS | 未明确说明具体功能,推测与 GPIOA 中断状态相关 |
GPIO_A_INT_END | GPIO Bank A 单独中断相关的结束寄存器索引(等于 GPIO_A_SEP_INTS ) |
GPIO_B_INT | GPIO Bank B 单独中断相关的起始寄存器索引(GPIO_A_INT_END + 1 ) |
GPIO_B_SEP_INTE | GPIOB [7:0] 单独中断使能寄存器宏 |
GPIO_B_SEP_NTRIG | 未明确说明具体功能,推测与 GPIOB 下降沿触发相关 |
GPIO_B_SEP_PTRIG | 未明确说明具体功能,推测与 GPIOB 上升沿触发相关 |
GPIO_B_SEP_INTC | 未明确说明具体功能,推测与 GPIOB 中断控制相关 |
GPIO_B_SEP_INTS | 未明确说明具体功能,推测与 GPIOB 中断状态相关 |
GPIO_B_INT_END | GPIO Bank B 单独中断相关的结束寄存器索引(等于 GPIO_B_SEP_INTS ) |
GPIO_A_PULLDOWN0 | GPIOA 下拉 0 电流寄存器宏,0:0mA 下拉电流,1:1.3mA 下拉电流,2:2.6mA 下拉电流,3:3.9mA 下拉电流 |
GPIO_A_PULLDOWN1 | GPIOA 下拉 1 电流寄存器宏,0:0mA 下拉电流,1:1.3mA 下拉电流,2:2.6mA 下拉电流,3:3.9mA 下拉电流 |
GPIO_A_OUTDS | 未明确说明具体功能,推测与 GPIOA 输出驱动强度相关 |
GPIO_B_PULLDOWN | 未明确说明具体功能,推测与 GPIOB 下拉电流相关 |
GPIO_B_OUTDS | 未明确说明具体功能,推测与 GPIOB 输出驱动强度相关 |
GPIO_C_START | GPIO Bank C 的起始寄存器索引(GPIO_B_OUTDS + 1 ) |
GPIO_C_SEP_INTE | 未明确说明具体功能,推测与 GPIO C 单独中断使能相关 |
GPIO_C_SEP_NTRIG | 未明确说明具体功能,推测与 GPIO C 下降沿触发相关 |
GPIO_C_SEP_PTRIG | 未明确说明具体功能,推测与 GPIO C 上升沿触发相关 |
GPIO_C_SEP_INTC | 未明确说明具体功能,推测与 GPIO C 中断控制相关 |
GPIO_C_SEP_INTS | 未明确说明具体功能,推测与 GPIO C 中断状态相关 |
GPIO_C_REG_I | 未明确说明具体功能,推测与 GPIO C 寄存器相关 |
GPIO_FSHC_REG_START | GPIO FSHC 相关寄存器的起始索引(GPIO_C_REG_I + 1 ) |
GPIO_FSHC_SCK_CTRL | 未明确说明具体功能,推测与 GPIO FSHC 的 SCK 控制相关 |
GPIO_FSHC_CS_CTRL | 未明确说明具体功能,推测 |