T527 uart串口配置导致系统进不去

1.主题

T527 s_uart串口配置导致系统进不去

2.问题背景

产品:
硬件:T527-demo
软件:Linux-5.15 + UART
 

3.问题描述

3.1复现步骤

在board.dts将uart9改成"okay"

3.2具体表现

启动过程中卡死
卡死log参考:

[    2.339274][   T10] uart uart9: supply uart not found, using dummy regulator
[    2.347349][   T10] uart9: ttyAS9 at MMIO 0x7080400 (irq = 85, base_baud = 1500000) is a SUNXI
[    2.356830][   T10] sw_console_setup()1865 - console setup baud 115200 parity n bits 8, flow n
[    2.366341][   T10] printk: console [ttyAS0] enabled
[    2.377436][   T10] printk: bootconsole [uart8250] disabled
NOTICE:  sunxi_usb_dev_register
NOTICE:  sunxi_usb_main_loop
weak:otg_phy_config
NOTICE:  usb init o
以下是HC32L13X芯片的UART串口模块配置示例代码: ```c #include "hc32l13x.h" void UartInit(void) { stc_uart_config_t stcUartConfig; stc_uart_multimode_t stcMulti; stc_uart_baud_t stcBaud; //使能UART外设时钟 Sysctrl_SetPeripheralGate(SysctrlPeripheralUart0, TRUE); //配置PD5为UART0_TX,PD6为UART0_RX Gpio_SetFunc_UART0TX_P05(); Gpio_SetFunc_UART0RX_P06(); //UART配置结构体清零 Mem_Zero(&stcUartConfig, sizeof(stcUartConfig)); Mem_Zero(&stcMulti, sizeof(stcMulti)); Mem_Zero(&stcBaud, sizeof(stcBaud)); //UART基本配置 stcUartConfig.enRunMode = UartMode1; stcUartConfig.enStopBit = Uart1bit; stcUartConfig.enMmdorCk = UartMmd; stcUartConfig.u32Baudrate = 9600; //UART多主机模式配置 stcMulti.enMulti_mode = UartNormal; stcMulti.u8Slave_addr = 0x00u; stcMulti.enBitDirection = UartDataLsbFirst; stcMulti.enBitLength = UartEightBits; stcMulti.enDetectMode = UartSingleEnd; stcMulti.enPeforDetect = UartMmd; stcMulti.enRtOrTxDetect = UartMmd; stcMulti.enAddressMatch = UartAddMatch0; stcMulti.enBitType = UartData; //UART波特率配置 stcBaud.u32Pclk = Sysctrl_GetPClkFreq(); stcBaud.enRunMode = UartMode1; stcBaud.u32Baud = stcUartConfig.u32Baudrate; //配置UART外设 Uart_Init(UARTCH0, &stcUartConfig, &stcMulti); Uart_SetBaudrate(UARTCH0, &stcBaud); Uart_EnableFunc(UARTCH0, UartRx); } ``` 该代码中,首先使能了UART外设时钟,然后配置了PD5为UART0_TX,PD6为UART0_RX。接着定义了三个结构体变量,分别用于UART的基本配置、多主机模式配置和波特率配置。最后通过调用`Uart_Init()`、`Uart_SetBaudrate()`和`Uart_EnableFunc()`函数来完成UART外设的配置。 需要注意的是,该代码仅作为示例,具体的配置根据实际需求进行调整。同时,配置UART时需要确保时钟配置正确,并且使能对应的GPIO引脚功能,否则可能会导致UART无法正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春风从不入睡、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值