static void uart1_io_init(void)
{
uint32_t temp;
/* PB6.7 AF Close */
temp = tls_reg_read32(HR_GPIOB_AFSEL);
temp &= ~0xC0;
tls_reg_write32(HR_GPIOB_AFSEL, temp);
/* PB6.7 AF Open opt1 */
temp = tls_reg_read32(HR_GPIOB_AFSEL);
temp |= 0xC0;
tls_reg_write32(HR_GPIOB_AFSEL, temp);
temp = tls_reg_read32(HR_GPIOB_AFS0);
temp &= ~0xC0;
tls_reg_write32(HR_GPIOB_AFS0, temp);
temp = tls_reg_read32(HR_GPIOB_AFS1);
temp &= ~0xC0;
tls_reg_write32(HR_GPIOB_AFS1, temp);
}
参考这个串口1的复用设置代码,按手册修改相应的寄存器参数,可以复用其它的串口。
如果用的是这个 WM_SDK_W806_v0.6.0 SDK
`__HAL_AFIO_REMAP_UART1_TX(GPIOB, GPIO_PIN_6);
__HAL_AFIO_REMAP_UART1_RX(GPIOB, GPIO_PIN_7);`
hal库的函数,IDE可以直接跳转过去看能改成什么
其他uart的配置就直接改UART1的数字
@yangxijing 尴尬,回复错了
这是一个宏,定义如下:
define __HAL_AFIO_REMAP_UART1_TX(__HANDLE__, __IOPOSITION__) do{ \