乐鑫技术交流
直播中

叹久

9年用户 765经验值
擅长:可编程逻辑 光电显示 接口/总线/驱动
私信 关注
[问答]

ESP32-S3FH4R2串口打印一直乱码的原因?

自己画的电路使用ESP32-S3FH4R2芯片,使用D:SoftwareInstallesp-idfexamplesget-startedhello_world这个列程烧录到ESP32-S3FH4R2的芯片后波特率115200串口打印打印一直为乱码,同样的代码烧录到安信可的的NodeMCU ESP-S3-12K-Kit开发版波特率115200能正常的打印字符没有乱码,ESP32-S3FH4R2使用普通UART串口打印非CDC模式麻烦帮忙看一下,修改原理图请见附件
                                                                                                                                                                                                                                                                                                                                                
使用波特率7300就能正常的打印字符了,但是代码中我设置的是115200的波特率的进行编译的,同样的固件刷入NodeMCU ESP-S3-12K-Kit开发版波特率115200能正常的打印字符没有乱码,而刷入同样的固件我画的ESP32-S3FH4R2开发版就需要设置波特率7300才能正常的打印字符                                                                                                                                                                                                                                                      
下面是对应的log打印Code:
ESP-ROM:esp32s3-20210327Build:Mar 27 2021rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)SPIWP:0xeemode:DIO, clock div:1load:0x3fcd0108,len:0x1648load:0x403b6000,len:0xb7cload:0x403ba000,len:0x2f58entry 0x403b6248[0;32mI (24) boot: ESP-IDF v4.4 2nd stage bootloader[0m[0;32mI (25) boot: compile time 17:34:41[0m[0;32mI (25) boot: chip revision: 0[0m[0;32mI (26) boot.esp32s3: Boot SPI Speed : 80MHz[0m[0;32mI (31) boot.esp32s3: SPI Mode       : DIO[0m[0;32mI (36) boot.esp32s3: SPI Flash Size : 2MB[0m[0;32mI (40) boot: Enabling RNG early entropy source...[0m[0;32mI (46) boot: Partition Table:[0m[0;32mI (49) boot: ## Label            Usage          Type ST Offset   Length[0m[0;32mI (57) boot:  0 nvs              WiFi data        01 02 00009000 00006000[0m[0;32mI (64) boot:  1 phy_init         RF data          01 01 0000f000 00001000[0m[0;32mI (72) boot:  2 factory          factory app      00 00 00010000 00100000[0m[0;32mI (79) boot: End of partition table[0m[0;32mI (83) esp_image: segment 0: paddr=00010020 vaddr=3c020020 size=078a0h ( 30880) map[0m[0;32mI (97) esp_image: segment 1: paddr=000178c8 vaddr=3fc90550 size=0266ch (  9836) load[0m[0;32mI (102) esp_image: segment 2: paddr=00019f3c vaddr=40374000 size=060dch ( 24796) load[0m[0;32mI (114) esp_image: segment 3: paddr=00020020 vaddr=42000020 size=16ca0h ( 93344) map[0m[0;32mI (134) esp_image: segment 4: paddr=00036cc8 vaddr=4037a0dc size=0646ch ( 25708) load[0m[0;32mI (140) esp_image: segment 5: paddr=0003d13c vaddr=50000000 size=00010h (    16) load[0m[0;32mI (145) boot: Loaded app from partition at offset 0x10000[0m[0;32mI (146) boot: Disabling RNG early entropy source...[0m[0;32mI (162) cpu_start: Pro cpu up.[0m[0;32mI (162) cpu_start: Starting app cpu, entry point is 0x403750a8[0m[0;32mI (0) cpu_start: App cpu up.[0m[0;32mI (176) cpu_start: Pro cpu start user code[0m[0;32mI (176) cpu_start: cpu freq: 240000000[0m[0;32mI (176) cpu_start: Application information:[0m[0;32mI (179) cpu_start: Project name:     hello_world[0m[0;32mI (184) cpu_start: App version:      1[0m[0;32mI (189) cpu_start: Compile time:     Jun 20 2024 20:11:12[0m[0;32mI (195) cpu_start: ELF file SHA256:  595d76b4f22b86a7...[0m[0;32mI (201) cpu_start: ESP-IDF:          v4.4[0m[0;32mI (206) heap_init: Initializing. RAM available for dynamic allocation:[0m[0;32mI (213) heap_init: At 3FC935A8 len 0004CA58 (306 KiB): D/IRAM[0m[0;32mI (219) heap_init: At 3FCE0000 len 0000EE34 (59 KiB): STACK/DRAM[0m[0;32mI (226) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM[0m[0;32mI (232) heap_init: At 600FE000 len 00002000 (8 KiB): RTCRAM[0m[0;32mI (239) spi_flash: detected chip: generic[0m[0;32mI (243) spi_flash: flash io: dio[0m[0;33mW (247) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.[0m[0;32mI (261) sleep: Configure to isolate all GPIO pins in sleep state[0m[0;32mI (267) sleep: Enable automatic switching of GPIO sleep configuration[0m[0;32mI (274) cpu_start: Starting scheduler on PRO CPU.[0m[0;32mI (0) cpu_start: Starting scheduler on APP CPU.[0mHello world!This is esp32s3 chip with 2 CPU core(s), WiFi/BLE, silicon revision 0, 2MB external flashMinimum free heap size: 387624 bytesRestarting in 10 seconds...

                 

回帖(1)

郭大

2024-7-19 14:36:40
ESP32-S3FH4R2串口打印出现乱码的原因可能有以下几点:

1. **波特率不匹配**:确保你的代码中设置的波特率与你的串口调试工具(如串口监视器)的波特率一致。例如,如果你的代码中设置了115200波特率,那么在串口调试工具中也需要设置为115200。

2. **串口引脚连接错误**:检查你的电路原理图中的串口引脚连接是否正确。确保TX(发送)和RX(接收)引脚没有接错。

3. **电源不稳定**:电源不稳定可能导致串口通信出现问题。确保你的电路板电源稳定,可以尝试使用稳压电源。

4. **串口初始化问题**:检查你的代码中是否正确初始化了串口。以下是使用ESP-IDF初始化串口的示例代码:

   ```c
   #include "driver/uart.h"

   void app_main(void)
   {
       uart_config_t uart_config = {
           .baud_rate = 115200,
           .data_bits = UART_DATA_8_BITS,
           .parity = UART_PARITY_DISABLE,
           .stop_bits = UART_STOP_BITS_1,
           .flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
           .source_clk = UART_SCLK_APB,
       };
       // 初始化串口1
       uart_driver_install(UART_NUM_1, 1024 * 2, 1024 * 2, 0, NULL, 0);
       // 配置串口参数
       uart_param_config(UART_NUM_1, &uart_config);
   }
   ```

5. **串口缓冲区溢出**:如果发送的数据量过大,可能会导致串口缓冲区溢出,从而出现乱码。可以尝试减少发送的数据量,或者增加串口缓冲区的大小。

6. **硬件故障**:如果以上方法都无法解决问题,可能是ESP32-S3FH4R2芯片本身存在问题。可以尝试更换芯片或者联系供应商寻求技术支持。

请根据以上建议检查你的电路和代码,希望能够帮助到你解决问题。如果需要进一步的帮助,请提供更详细的信息,例如代码和原理图。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分