完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
代码如下
static QueueHandle_t xQueueAIFrame = NULL;static QueueHandle_t xQueueLCDFrame = NULL;static QueueHandle_t xQueueEventLogic = NULL;extern SemaphoreHandle_t sem_handle;extern "C" void app_main(){ esp_err_t ret; app_wifi_main(); xQueueAIFrame = xQueueCreate(5, sizeof(camera_fb_t *)); xQueueLCDFrame = xQueueCreate(5, sizeof(camera_fb_t *)); xQueueEventLogic = xQueueCreate(1, sizeof(int *)); register_camera(PIXFORMAT_RGB565, FRAMESIZE_240X240, 2, xQueueAIFrame); register_button_events(xQueueEventLogic); register_human_face_recognition(xQueueAIFrame, xQueueEventLogic, NULL, xQueueLCDFrame, true); register_lcd(xQueueLCDFrame, NULL, true);} 就是很简单的调用了官方给我们写的代码框架。 但是当我同时把摄像头、人脸识别、LCD显示、wifi任务同时开启时。 LCD就无法正常显示,只能显示一部分区域。 同时会报如下的错误 =================================================================================================== E (24560) lcd_panel.io.spi: panel_io_spi_tx_color(387): spi transmit (queue) color failed E (24640) lcd_panel.io.spi: panel_io_spi_tx_color(387): spi transmit (queue) color failed E (24720) lcd_panel.io.spi: panel_io_spi_tx_color(387): spi transmit (queue) color failed E (24800) lcd_panel.io.spi: panel_io_spi_tx_color(387): spi transmit (queue) color failed E (24880) lcd_panel.io.spi: panel_io_spi_tx_color(387): spi transmit (queue) color failed E (24960) lcd_panel.io.spi: panel_io_spi_tx_color(387): spi transmit (queue) color failed E (25040) lcd_panel.io.spi: panel_io_spi_tx_color(387): spi transmit (queue) color failed ===================================================================================================== 但是其他任务都是可以正常运行的。 当我把WiFi任务关掉。其他所有任务都可以正常运行。 或者我把AI任务关掉,其他任务都可以正常执行。 这种情况是可能出什么问题了 |
|
相关推荐
1个回答
|
|
ESP32-S3-EYE在运行中LCD无法正常显示的原因可能有以下几个:
1. **硬件连接问题**:首先检查ESP32-S3-EYE的硬件连接是否正确,包括电源、数据线等。 2. **LCD初始化问题**:确保在代码中正确初始化了LCD。检查是否调用了正确的初始化函数,并传入了正确的参数。 3. **队列问题**:代码中使用了三个队列(xQueueAIFrame、xQueueLCDFrame和xQueueEventLogic),需要确保这些队列在正确的时间被创建和使用。同时,检查队列的创建参数是否合适,例如队列长度和元素大小。 4. **帧缓冲区问题**:检查是否正确地将图像数据发送到LCD。这可能涉及到将图像数据从AI处理队列(xQueueAIFrame)传输到LCD显示队列(xQueueLCDFrame)。 5. **中断和任务调度问题**:确保在代码中正确地处理中断和任务调度。这可能涉及到在适当的时间启动和停止任务,以及处理中断。 6. **电源管理问题**:检查ESP32-S3-EYE的电源管理设置,确保在运行过程中不会因电源不足而导致LCD无法正常显示。 为了解决这些问题,你可以尝试以下步骤: 1. **检查硬件连接**:确保所有连接都正确无误。 2. **检查LCD初始化代码**:确保在app_main()函数中调用了正确的LCD初始化函数,并传入了正确的参数。 3. **检查队列创建和使用**:确保在app_main()函数中正确地创建了队列,并在适当的时间使用它们。 4. **检查帧缓冲区传输**:确保图像数据从AI处理队列传输到LCD显示队列。 5. **优化中断和任务调度**:确保在代码中正确地处理中断和任务调度,以便在适当的时间启动和停止任务。 6. **调整电源管理设置**:检查ESP32-S3-EYE的电源管理设置,确保在运行过程中不会因电源不足而导致LCD无法正常显示。 7. **调试和日志**:在代码中添加调试信息和日志输出,以便更好地了解程序的运行情况和问题所在。 |
|
|
|
只有小组成员才能发言,加入小组>>
968 浏览 1 评论
553浏览 6评论
463浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
418浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 14:18 , Processed in 0.977833 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号