


针对RV-STAR开发板串口无法显示的问题,以下分步骤解决:
USB),即连接CH552G USB转串口芯片。PIN 位置(右侧两针),会导致串口信号连接到排针而非USB。ls /dev/tty*(Linux/Mac)是否识别到新串口设备(如 COMx 或 ttyACMx)。PIN 位置(右侧两针),断开与CH552G的连接。引脚复用配置:
确保代码中配置了正确的引脚复用功能:
// UART4示例(板载USB串口)
gpio_pin_remap_config(GPIO_UART4_REMAP, ENABLE); // 启用PC12/PC13复用
// USART0示例(外接串口)
gpio_init(GPIOC, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_11); // TX
gpio_init(GPIOC, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_12); // RX // UART4初始化
rcu_periph_clock_enable(RCU_GPIOC);
rcu_periph_clock_enable(RCU_UART4);
uart_deinit(UART4);
uart_baudrate_set(UART4, 115200);
uart_word_length_set(UART4, UART_WL_8BIT);
uart_parity_config(UART4, UART_PM_NONE);
uart_enable(UART4); // 发送字符函数
void uart_putchar(uint32_t uart_periph, char c) {
uart_data_transmit(uart_periph, (uint8_t)c);
while (uart_flag_get(uart_periph, UART_FLAG_TBE) == RESET);
}
// 测试代码:发送字符串
uart_putchar(UART4, 'H');
uart_putchar(UART4, 'i');
uart_putchar(UART4, 'r');
uart_putchar(UART4, 'n');场景1:板载USB串口(UART4)无输出
USB 位置。'A' 的波形周期约87μs)。场景2:外接USART0无输出
PIN 位置。rcu_periph_clock_enable(RCU_GPIOC); // GPIOC时钟
rcu_periph_clock_enable(RCU_USART0); // USART0时钟 #include "gd32vf103.h"
int main() {
rcu_periph_clock_enable(RCU_GPIOC);
rcu_periph_clock_enable(RCU_UART4); // 或RCU_USART0
gpio_init(GPIOC, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_12); // UART4 TX
uart_baudrate_set(UART4, 115200);
uart_enable(UART4);
while(1) {
uart_data_transmit(UART4, 'X'); // 持续发送'X'
while (uart_flag_get(UART4, UART_FLAG_TBE) == RESET);
for (volatile int i=0; i<1000000; i++); // 简单延时
}
}USB 或 PIN 的正确位置。gpio_pin_remap_config)或时钟。按上述步骤逐一排查,即可解决串口无输出问题。
举报
更多回帖