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

发布
问题