-
华大HC32L130J8TA,UART1+DMA功能正常,换成UART0就用不了了,什么原因?
直接用的例程,这是UART1+DMA可以正常使用,但是换成UART0就不行了,接线,参数都检查过了int32_tmain(void){//uart端口配置App_UartPortInit();//UART模块配置App_UartCfg();//DMA参数配置App_DmaCfg();while(1){if(5==Dma_GetStat(DmaCh0))//完成一次通道传输(UART1_RX->RAM缓存2字节){Dma_DisableChannel(DmaCh0);//禁用通道0delay10us(100);Dma_EnableChannel(DmaCh1);//使能通道1Dma_ClrStat(DmaCh0);//清除通道0状态值}if(5==Dma_GetStat(DmaCh1))//完成一次通道传输(RAM缓存->UART1_TX2字节){Dma_DisableChannel(DmaCh1);//禁用通道1Dma_EnableChannel(DmaCh0);//使能通道0Dma_ClrStat(DmaCh1);//清除通道0状态值}}}//UART模块配置voidApp_UartCfg(void){stc_uart_cfg_tstcCfg;stc_uart_baud_tstcBaud;DDL_ZERO_STRUCT(stcCfg);//初始化变量DDL_ZERO_STRUCT(stcBaud);//初始化变量Sysctrl_SetPeripheralGate(SysctrlPeripheralUart1,TRUE);//使能UART1外设时钟门控开关stcCfg.enRunMode=UartMskMode1;//模式3stcCfg.enStopBit=UartMsk1bit;//1位停止位stcCfg.stcBaud.u32Baud=9600;//波特率9600stcCfg.stcBaud.enClkDiv=UartMsk8Or16Div;//通道采样分频配置stcCfg.stcBaud.u32Pclk=Sysctrl_GetPClkFreq();//获得外设时钟(PCLK)频率值Uart_Init(M0P_UART1,&stcCfg);//串口初始化Uart_ClrStatus(M0P_UART1,UartRC);//清接收请求Uart_ClrStatus(M0P_UART1,UartTC);//清发送请求Uart_EnableFunc(M0P_UART1,UartDmaTxFunc);//使能DMA发送,DMA相关通道使能后,如果TxBuff为空,会立马启动传输Uart_EnableFunc(M0P_UART1,UartDmaRxFunc);//使能DMA接收}//DMA参数配置voidApp_DmaCfg(void){stc_dma_cfg_tstcDmaCfg;DDL_ZERO_STRUCT(stcDmaCfg);//初始化变量Sysctrl_SetPeripheralGate(SysctrlPeripheralDma,TRUE);//使能DMAC外设时钟门控开关//rxdma配置stcDmaCfg.u32SrcAddres
2023-11-02 9 -
HC32L130 UART通讯修改波特率乱码
例程设置的9600正常,改成115200为什么会乱码,还有什么没改??求教
2023-10-27 11