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的数字

发布
问题