Page 1 of 1

希望能通过esp32的HSPI与MCU进行at通信控制

Posted: Fri Feb 05, 2021 2:33 am
by yanhuayileng
这个问题研究了很久都没有头绪,问题如下:
1、使用esp-idf-tools-setup-2.3工具配置的IDF环境,并成功配置,所有配置选择默认。
2、手动移植了esp32的spi从机程序,使用HSPI,MISO为12,MOSI为13,CLK为14,CS为15,Handshake为GPIO4,能够与MCU进行正常通信,Handshake能够拉高拉低电平,硬件环境正确。
3、将esp-at程序中的spi_driver和at组件移植到工程后使用idf.py出现错误,主程序在源工程文件at_hspi_task_esp32.c的基础上只修改了引脚,错误原因在at的CMakeLists.txt文件中if (${SILENCE} EQUAL 1)和string那几行,将这几行屏蔽后手动将LIBS配置为lib目录下的.a文件,能够编译通过,烧录后能够运行,但始终无法与MCU正常通信,通信规则按照github的md的说明配置一致,Handshake拉高一次之后就无法再次拉高了,并且handshake始终处于低电平。
4、尝试通过官网上的通过esp-at工程直接修改程序,按照官网上的指导一步一步配置和移植,还未添加自己的工程,源代码始终无法编译通过。
有谁做过这方面的工作吗?
谢谢!

Re: 希望能通过esp32的HSPI与MCU进行at通信控制

Posted: Sat Feb 06, 2021 9:28 am
by chaqs3
我最近也在头疼这个问题,我之前还没什么ESP的基础,两眼一抹黑,太痛苦 :|

Re: 希望能通过esp32的HSPI与MCU进行at通信控制

Posted: Thu Jun 10, 2021 11:34 am
by ESP_Alson
1. 目前 AT 固件已经支持 HSPI 通信,只需要下载 AT 源码在 menuconfig 里面配置上 AT through HSPI 选项即可。选项路径为 Component config -> AT -> Enable AT Commands -> communicate method for AT command.
2. AT 固件 HSPI 引脚在代码中是固定的 (您也可以修改代码配置成想要的引脚),可参考 at_hspi_task_esp32.c 文件,路径为:main/interface/hspi/at_hspi_task_esp32.c。
MOSI <------> GPIO12
MISO <------> GPIO13
SCLK <------> GPIO15
CS <------> GPIO14
3. 经过以上 2 步骤之后,重新编译 AT 固件即可。