完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我是硬件小白,以前做软件开发,最近刚自学一个月单片机开发,我自学实验项目: 通过esp32-wroom32 这个开发板通过串口与支持串口TTL 通讯的数码管通讯(这个数码管是在某宝购买的中盛科技的数码管),希望数码管可以显示数字,我使用PC的串口助手通过usb转TTL模块给数码管发送指令 ,数码管能够正常显示数字,但是使用esp32-wroom32 给数码管发指令,数码管始终不显示,不知道是什么原因? 能否给些建议, 谢谢。 具体接线是 开发板 数码管 Rx16 <----> Tx(A) Tx17 <----> Rx(B) Vcc <----> 外部24伏直流供电 Gnd <----> Gnd 使用arduino IDE 编写代码如下: #include static const int C_Baut = 9600; HardwareSerial SerialPort(2); unsigned char tmp[] = {0x01,0x10,0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x30, 0x00, 0x31,0x00,0x30, 0x00,0x32,0x7A,0x67}; //应该显示0102,在PC串口助手发送,数码管可以正常显示 void setup() { // put your setup code here, to run once: Serial.begin(C_Baut); SerialPort.begin(C_Baut, SERIAL_8N1,16,17); } void loop() { SerialPort.write(tmp,sizeof tmp/sizeof(tmp[0])); SerialPort.print(1); delay(1000); SerialPort.print(0); delay(1000); delay(1000); // put your main code here, to run repeatedly: } |
|
相关推荐
1个回答
|
|
首先,我们需要确保ESP32-WROOM32与数码管之间的连接是正确的。以下是一些建议和可能的原因:
1. 检查接线:确保ESP32-WROOM32的TX(发送)引脚与数码管的RX(接收)引脚相连,同时确保ESP32-WROOM32的RX(接收)引脚与数码管的TX(发送)引脚相连。此外,还需要连接数码管的GND(地)引脚与ESP32-WROOM32的GND(地)引脚。 2. 检查波特率:确保ESP32-WROOM32与数码管之间的通信波特率相同。你可以在ESP32的代码中设置波特率,例如: ```cpp Serial.begin(9600); // 设置波特率为9600 ``` 3. 检查电源:确保数码管和ESP32-WROOM32都已正确连接到电源,并且电源电压符合设备要求。 4. 检查代码:确保你的代码正确地发送了数码管所需的指令。你可以参考数码管的数据手册,了解如何发送正确的指令。 5. 检查串口助手:如果你使用PC的串口助手与数码管通信没有问题,那么可以尝试使用ESP32-WROOM32的串口助手,看看是否能够正常通信。 6. 检查数码管的硬件:确保数码管没有损坏或故障。你可以尝试将数码管连接到其他设备,看看是否能够正常工作。 7. 检查ESP32-WROOM32的固件:确保你的ESP32-WROOM32设备上运行的固件是最新的,或者与你的项目兼容。 8. 检查串口冲突:如果你的ESP32-WROOM32设备上使用了多个串口,确保它们之间没有冲突。 通过以上步骤,你应该能够找到问题所在并解决。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助你。 |
|
|
|
只有小组成员才能发言,加入小组>>
310 浏览 1 评论
551浏览 6评论
461浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
443浏览 5评论
445浏览 4评论
415浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 11:57 , Processed in 0.685259 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号