完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我正在尝试使用 UART1 进行调试。
这是我到目前为止所做的: - 将FTDI RX引脚连接到ESP8266 GPIO2 - user_init(): uart_init(BIT_RATE_115200,BIT_RATE_115200); os_install_putc1((无效 *)uart1_write_char); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2, FUNC_U1TXD_BK); os_printf("Hello"); 我确实uart1_write_char指向您的 uart.c 文件中的相同函数。 这是正确的吗?还是我应该自己实现? 我的问题是我在 Ubuntu 中的终端程序根本没有接收到任何数据。 我做错了什么? |
|
相关推荐
1个回答
|
|
|
根据您的描述,您已经完成了以下步骤:
1. 将FTDI RX引脚连接到ESP8266 GPIO2 2. 在user_init()函数中初始化UART1 3. 安装自定义的putc1函数 4. 配置GPIO2为UART1 TXD 5. 使用os_printf()发送"Hello"字符串 现在,让我们逐步检查可能的问题: 1. 确保您的FTDI USB转串口模块工作正常。您可以尝试将其连接到另一个设备(如Arduino)并发送数据,以确保它能够接收和发送数据。 2. 检查您的ESP8266是否正确烧录了固件。如果固件有问题,可能导致UART1无法正常工作。 3. 确保您的终端程序(如PuTTY、Minicom等)设置正确。您需要设置波特率为115200,数据位为8,停止位为1,无奇偶校验。 4. 检查您的自定义putc1函数是否正确实现。您可以参考ESP8266 SDK中的示例代码,确保您的函数正确地将数据发送到UART1。例如: ```c void uart1_write_char(char c) { WRITE_PERI_REG(UART_FIFO(UART1), c); while (READ_PERI_REG(UART_STATUS(UART1)) & (UART_TXFIFO_CNT << UART_TXFIFO_CNT_S)) { ; } } ``` 5. 确保您的ESP8266和FTDI模块之间的TX和RX引脚连接正确。TX连接到RX,RX连接到TX。 6. 如果您仍然无法接收数据,请尝试使用ESP8266的默认UART0(GPIO1作为TX,GPIO3作为RX)进行调试,以排除硬件问题。 7. 最后,检查您的代码中是否有其他错误或逻辑问题,可能导致UART1无法正常工作。 通过以上步骤,您应该能够找到问题所在并解决它。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
933 浏览 0 评论
1653 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1284 浏览 1 评论
1218 浏览 1 评论
4959 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1249浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2329浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2524浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:58 , Processed in 0.807412 second(s), Total 69, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
592
