先上文档,ESP32 中断介绍官方文档:
Interrupt allocation - ESP32 - — ESP-IDF 编程指南 latest 文档
esp_intr_alloc函数说明,一般也不会直接调用该函数

翻到这个函数因为在初始化串口时uart_driver_install函数返回错误ESP_ERR_NOT_FOUND,定义如下:
#define ESP_ERR_NOT_FOUND 0x105 /*!< Requested resource not found */
然后逐层挖下次,是esp_intr_alloc报上来的错误,实际意思是中断的资源用完,不过也不知道哪里用完了,esp32S3串口有3个,我只是开了2个串口,包含日志输出的串口
一般调用uart_driver_install时最后一个参数都是使用默认0,例子里大多数也是intr_alloc_flags 为0,intr_alloc_flags参数介绍为:
intr_alloc_flags 参数:
* @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred)
* ESP_IN

本文探讨了ESP32在uart_driver_install函数调用时遇到的ESP_ERR_NOT_FOUND错误,并详细解析了esp_intr_alloc函数中intr_alloc_flags参数的作用。通过调整参数使用共享中断解决了中断资源耗尽的问题。
最低0.47元/天 解锁文章
1328





