华大HC32L196初始化串口三
时间: 2023-07-30 09:09:49 浏览: 73
首先,需要在代码中包含头文件 "HC32L196.h" 和 "stdio.h"。
然后,需要初始化串口时钟和引脚。
以下是初始化串口三的示例代码:
```c
/* 初始化串口时钟和引脚 */
void UART3_Init(void)
{
/* 使能USART3和GPIOB的时钟 */
Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
Sysctrl_SetPeripheralGate(SysctrlPeripheralUart3, TRUE);
/* 配置PB10为TXD3引脚,PB11为RXD3引脚 */
Gpio_InitIOExt(GPIO_PORT_B, GPIO_PIN_10, GpioDirModeOut, FALSE, FALSE, FALSE, FALSE);
Gpio_InitIOExt(GPIO_PORT_B, GPIO_PIN_11, GpioDirModeIn, FALSE, FALSE, FALSE, FALSE);
/* 配置USART3工作模式 */
M0P_UART3->SCON = 0x50; // 配置为模式1,8位数据帧,无校验位,1位停止位
M0P_UART3->SBR = 184; // 波特率为9600,时钟为22.1184MHz
}
int main(void)
{
/* 初始化系统时钟和GPIO */
SystemClock_Init();
Gpio_Init();
/* 初始化串口三 */
UART3_Init();
/* 其他代码 */
// ...
return 0;
}
```
在上面的示例代码中,使用了华大提供的库函数 "Sysctrl_SetPeripheralGate" 和 "Gpio_InitIOExt" 来初始化时钟和引脚。然后,配置了 USART3 的工作模式和波特率。