ESP8266_05 ESP8266有几个串口?

ESP8266_01搭建开发环境

ESP8266_02程序的编译与下载

ESP8266_03SDK与Makefile的基本用法

ESP8266_04管脚控制与软件定时器

ESP8266_05 ESP8266有几个串口?

ESP8266_06硬件定时器与IO中断

ESP8266_07基于PWM的呼吸灯

ESP8266_08基于flash的数据掉电保护

ESP8266_09基于IIC控制的OLED屏幕

ESP8266_10 ESP8266的STATION模式

ESP8266_11 ESP8266的UDP广播

ESP8266_12 ESP8266客户端模式下的TCP通信

ESP8266_13服务器端模式下的TCP通信

ESP8266_14 SOFTAP模式下的服务器端和客户端

ESP8266_15天气预报之TCP的GET操作

ESP8266_16天气预报之JSON数据的生成与解析

ESP8266_17简单网络时间协议-SNTP

ESP8266_18 MQTT协议接入ONENET平台

ESP8266_19MQTT协议接入ONENET平台_订阅主题

ESP8266_20 基于ONENET平台的数据上传之TCP的POST操作

ESP8266_21基于ESP8266的一键配网

ESP8266_22基于自身ADC的电压采样

ESP8266_23基于硬件定时器的红外遥控器解码

         问题:ESP8266有几个串口?

         答:一个半。

         先说一个完整的,这个比较常用。

         以第三节生成的工程为例。咱们做一些修改。在软件左侧的Project Explorer打开app->user,除了user_main.c和Makefile,其它C文件都删掉。打开user_main.c文件,去掉文件头多余的头文件,添加如下两个和串口相关的头文件:

         函数user_init(void)内,除了初始化相关的函数,其余都去掉。添加串口初始化函数,设置波特率为115200,同时打印输出“Hello world!”

         保存、清理、编译一条龙,生成bin文件。

       注意事项:user_main.c里面和系统初始化、系统配置相关的函数或定义不要动,如user_pre_init(void)、at_partition_table[]。如果是SDK2.2的话,你把这些删掉是没影响的,但是3.0不可以。

 

         接下来说那半个UART,为什么说它是半个?  因为它只有一个发送管脚,TXD。其实从串口的初始化函数可以看出来,模块上面不止一个UART口:

         uart_init(BIT_RATE_115200, BIT_RATE_115200);

         咱们通常用来下载程序,或者输出调试信息的那个端口就是UART0,那么另一个自然就是UART1。对应的IO管脚在哪里?         打开uart.c文件,找到uart_init(void) 函数。可以发现:

         它的UART1的输出管脚是GPIO2,如果要使用这个功能的话,把第340行的注释取消就可以,此时UART0只能做为程序下载接口,无法再输出调试信息。

         例程下载链接:https://pan.baidu.com/s/1dw7ZCL4oKQae6jWoW2GA0w 
         提取码:uh60 

发布了27 篇原创文章 · 获赞 7 · 访问量 5205

猜你喜欢

转载自blog.csdn.net/lazyduck/article/details/97691916