yangxijing
yangxijing
這家夥很懶,什麼也沒寫!

注冊於 2年前

回答
3
文章
0
關注者
0

官方群裡的SDK,GPIO中斷的demo
WM_SDK_W806_v0.6.0

'''
static void GPIO_Init(void)
{

GPIO_InitTypeDef GPIO_InitStruct = {0};

__HAL_RCC_GPIO_CLK_ENABLE();

GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2, GPIO_PIN_SET);

GPIO_InitStruct.Pin = GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

HAL_NVIC_SetPriority(GPIOB_IRQn, 0);
HAL_NVIC_EnableIRQ(GPIOB_IRQn);

}
'''

寄存器手冊應該有,直接操作寄存器

如果用的是 WM_SDK_W806_v0.6.0 這個SDK
配置uart1的引腳複用就這樣:

__HAL_AFIO_REMAP_UART1_TX(GPIOB, GPIO_PIN_6);
__HAL_AFIO_REMAP_UART1_RX(GPIOB, GPIO_PIN_7);

hal庫的函數,IDE可以直接跳轉過去看能改成什麼
其他uart的配置就直接改UART1的數字

發布
問題