完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好:
本人IDF开发时,遇到个很奇怪的问题,琢磨很久不知道如何解决。板子是ESP32-S3-DevKitC-1,使用OLED I2C显示功能正常。使用GATT_SERVER工程,设置BLE模式,也可以正常使用手机连接BLE。但是当我把OLED I2C和GATT_SERVER工程代码同时集成到一个工程中时,就不行了。测试时发现,当我使用: oled_show_str(0,0, "HX ESP32 I2C", &Font_7x10, 1); 这条语句时,我的gatt_server就起不来,手机无法扫描到ESP32的蓝牙服务。使用串口助手时,提示SCL和SDA用了同样的端口。目前不清楚为啥会有这样的报错,请大神帮分析下。 |
|
相关推荐
1个回答
|
|
1. 确保I2C总线的SCL和SDA引脚没有被其他组件占用。您可以在代码中检查是否有其他组件使用了相同的引脚。
2. 在初始化I2C总线和OLED显示时,确保使用了不同的I2C端口。例如,您可以使用I2C_NUM_0和I2C_NUM_1。 3. 在调用oled_show_str函数之前,确保BLE GATT_SERVER已经初始化并运行。您可以尝试在BLE GATT_SERVER初始化完成后再调用OLED显示函数。 4. 检查您的代码中是否有任何可能导致死锁或资源竞争的部分。例如,确保在调用OLED显示函数时,没有阻塞BLE GATT_SERVER的运行。 5. 如果问题仍然存在,您可以尝试使用ESP-IDF的日志系统来记录BLE GATT_SERVER和OLED显示的运行状态,以便更好地了解问题所在。 6. 另外,您还可以尝试降低OLED显示的刷新频率,以减少对I2C总线的占用。 |
|
|
|
只有小组成员才能发言,加入小组>>
968 浏览 1 评论
553浏览 6评论
463浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
418浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 10:01 , Processed in 1.001805 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号