STM32G031K LL庫使用 - GPIO

最近使用STm32G031K6做一款IOT產品,選擇了用最新LL庫進行開發,因爲知其那對LL庫瞭解很少,所以開始的時候踩了很多坑,爲防以後繼續踩坑,現在做一個記錄。

GPIO初始化:

void STM32LLGpioInit(void)
{
    LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
    LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA);     //使能GPIOA時鐘
    GPIO_InitStruct.Pin = gpioUSER_PIN_1|gpioUSER_PIN_2;   //需要初始化的Pin,A端口的
	GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;            //Pin的模式-可選輸入、輸出、模擬輸入、複用
	GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;       //Pin的最大速率
	GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;  //輸出類型-可選推輓、開漏
	GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;                //是否需要上拉,上拉的類型
	LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}

 

GPIO的其他操作:

void LL_GPIO_ResetOutputPin(GPIO_TypeDef *GPIOx, uint32_t PinMask); //設置io輸出低

void LL_GPIO_SetOutputPin(GPIO_TypeDef *GPIOx, uint32_t PinMask);//Pin輸出高

uint32_t LL_GPIO_IsInputPinSet(GPIO_TypeDef *GPIOx, uint32_t PinMask)//讀取Pin狀態


/*以上爲常用的IO操作函數,其他詳細的使用可以參考stm32g0xx_ll_gpio.h文件*/

GPIO的初始化和操作比較簡單,做過其他STM產品開發的應該很好理解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章