Hi3861一共有三个串口,uart0用于固件升级,uart1用于at指令传输,所以能用uart2用于个人数据的传输。
从硬件上,我们可以看到gpio11和uart2_TXD复用一个引脚; gpio12和uart2_RXD复用一个引脚。
所以我们需要将u***转串口的rx引脚和底板u***的gpio11接到一起,把u***模块的tx引脚和gpio12接到一起;然后再随意找个gnd接一下。
硬件连接就是这样,之后我们改一下hi3861驱动里面的配置。
首先是在vendor/hisi/hi3861/hi3861/build/config/usr_config.mk文件里面,把uar2加上:CONFIG_UART2_SUPPORT=y
关于uart2的引脚配置,其实只要上面的配置加上,系统是有默认的初始化,可以检查一下vendor/hisi/hi3861/hi3861/app/wifiiot_app/init/app_io_init.c这个文件,里面已经有了将gpio11和gpio12配置为uart2的代码,如下:
然后在applica
tions/sample/wifi-iot/app/路径下面创建uart_task文件夹,并在下面创建uart_task.c和BUILD.gn文件。其中uart_task.c内容如下:
主要是打开串口,并创建了串口读取数据并返回数据的task。
BUILD.gn则是新加的代码的构建规则。
并在applications/sample/wifi-iot/app/这一层的BUILD.gn中将uart_task包括上。
烧好固件之后,就可以测试了。注意区分我们自己的u***串口以及板子自带的CH340的u***驱动。这里的串口是com10。
连上之后就能通过串口调试助手测试,发送什么就会回显什么。