如下配置后,发送数据正常,接收数据全部为0,中断功能正常,请赐教,非常感谢
使用的单片机是HC32L130, PA14已经禁用SWD,配置为普通IO,并且发送是正常的,现在看是PA15不能接收,谢谢
配置代码
- ///<TX
- stcGpioCfg.enDir = GpioDirOut;
- Gpio_Init(GpioPortA,GpioPin14,&stcGpioCfg);
- Gpio_SetAfMode(GpioPortA,GpioPin14,GpioAf1); //配置PA14为UART1_TX
- //<RX
- stcGpioCfg.enDir = GpioDirIn;
- stcGpioCfg.enPu = GpioPuEnable;
- stcGpioCfg.enPd = GpioPdDisable;
- Gpio_Init(GpioPortA,GpioPin15,&stcGpioCfg);
- Gpio_SetAfMode(GpioPortA,GpioPin15,GpioAf2); //配置PA15为UART1_RX
-
- Sysctrl_SetPeripheralGate(SysctrlPeripheralUart1,TRUE);
- ///<UART 初始化
- stcCfg.enRunMode = UartMskMode1; ///<模式3
- stcCfg.enStopBit = UartMsk1bit; ///<1bit停止位
- stcCfg.enMmdorCk = UartMskNoParity; ///<多机模式时
- stcCfg.stcBaud.u32Baud = baud; ///<波特率9600
- stcCfg.stcBaud.enClkDiv = UartMsk8Or16Div; ///<通道采样分频配置
- stcCfg.stcBaud.u32Pclk = Sysctrl_GetPClkFreq(); ///</<获得外设时钟(PCLK)频率值
- Uart_Init(M0P_UART1, &stcCfg); ///<串口初始化
-
- ///<UART 中断使能
- Uart_ClrStatus(M0P_UART1,UartRC); ///<清接收中断请求
- Uart_ClrStatus(M0P_UART1,UartTC); ///<清发送中断请求
- Uart_EnableIrq(M0P_UART1,UartRxIrq); ///<使能接收中断
- Uart_DisableIrq(M0P_UART1,UartTxIrq); ///<禁止发送中断
- EnableNvic(UART1_IRQn, IrqLevel3, TRUE); ///<系统中断使能
|