HAL GPIO 模塊提供抽象的軟件接口操作硬件GPIO模塊. HPSYS和LPSYS各有一個(gè)GPIO模塊,支持的特性有:
- 輸出模式
- 輸入模式, 可檢測(cè)輸入電平觸發(fā)中斷,支持高電平、低電平、上升沿、下降沿和雙沿檢測(cè)
HPSYS的硬件GPIO模塊為 hwp_gpio1 (或稱為GPIO_A), LPSYS的硬件GPIO模塊為 hwp_gpio2 (或稱為GPIO_B).
- Note
- 如果需要設(shè)置GPIO管腳為其他功能,或者更改上下拉驅(qū)動(dòng)能力,請(qǐng)參考pinmux的設(shè)置PINMUX
詳細(xì)的API說(shuō)明參考 GPIO .
使用GPIO HAL
輸出模式
配置GPIO1 pin10(即GPIO_A10)為輸出模式,輸出高電平
void write_pin(void)
{
uint16_t pin = 10;
GPIO_InitStruct.
Pin = pin;
}
輸入模式(無(wú)中斷)
配置GPIO1 pin10(即GPIO_A10)為輸入模式,讀取電平狀態(tài)
void read_pin(void)
{
uint16_t pin = 10;
GPIO_InitStruct.
Pin = pin;
}
輸入模式(有中斷)
配置GPIO1 pin10(即GPIO_A10)為輸入模式,雙沿檢測(cè)
void GPIO1_IRQHandler(void)
{
for (uint32_t i = 0; i <= 41; i++)
{
}
}
{
}
void detect_pin(void)
{
uint16_t pin = 10;
GPIO_InitStruct.
Pin = pin;
GPIO_InitStruct.
Pin = pin;
}