记ESP32自己遇到串口不通的一个坑 ---------------注意有些GPIO只能作为输入!有些GPIO只能作为输入!有些GPIO只能作为输入!重要的事情说3遍,硬件设计问题,避坑指南。
前言
最近遇到一个项目,需要接入雷达模块,模块厂商提供的SDK(带了算法)是在ESP32或者STM32F412上开发的,虽然此前并没有用过ESP32,但是由于STM32的价格已经让老板们可以跳起来骂娘了,所以我们就只有上ESP32,一看ESP32这个东西还真的性价比没得说 一、先来看看ESP32 1、ESP32芯片直接上管脚图
2、因为产品可能会出口,为了减少认证的时间和成本,所以我们直接用ESP32-WROOM-32E模块来做,而且前期因为量不大,其实模块成本也是比较划算的,模块的管脚图如下:
3、雷达模块供应商当时是买了官方的开发板接的他们的雷达模块调的软件,并且告知我们SDK中串口可以根据硬件调整,开发板的管脚图如下:
二、由于项目上需要用到串口来和雷达通讯,所以就需要选两个脚来连接到雷达上,那么就要从芯片手册中UART的管脚,查看芯片手册,在手册里面看到这个表格,UART接口对应任意GPIO管脚,于是乎理解为随便选两个IO就可以。 由于结构的关系,选模块的管脚6~14比较好走线。于是就随便挑了IO34和IO35这两个脚作为UART 在嘉立创上投了板,几天后回来焊接好,兴奋告诉供应商可以改代码了,这时候对方告诉这两个口不行,只能做输入用,翻了下ESP32-WROOM-32E模块的规格书,发现哇咔咔,原来还有GPIO只能作为输入的!!!而大家知道UART的TX就是要作为输出,而我正好选择了IO34!(((φ(◎ロ◎;)φ))) 于是老老实实的去改板子吧!
|