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{ \