【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法

对于像我一样的新手而言,SDK的入门。简直就是云里雾里,啥也不能去理解,只能跟着照做,但是照做又很容易被简单的问题绊倒,然后也太打击人了,尤其编译SDK就是一个。

下面我以原生SDK V1.2为例,做一个模板。
原生SDK,连接:https://pan.baidu.com/s/1o8R46SU 密码:i4z0
改良后SDK,链接:https://pan.baidu.com/s/1jJBgfcU 密码:o4x7

步步为营,看图。

1、

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第1张图片

2、

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第2张图片

3、

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第3张图片

4、在自己的工程里,分别再建三个文件

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第4张图片

5、user里面放任意examples里面的user的makefile和user_main.c

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第5张图片

6、dirver里面放对应的.c文件,这里我想打印串口。所以对应放了uart.c文件
和makefile…(刚刚那个IOT_DEMO似乎没有这个文件,我在examples\driver_lib\driver 里面找到的!)

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第6张图片

7、include 根目录下放置user_config.h 然后再建一个 driver文件夹放置 uart.h和uart_register.h

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第7张图片

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第8张图片

然后利用eclipse 编译,具体烧录方法,戳这里。

注意最后生成的bin对应位置也许不太一样。。注意一下。。

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第9张图片

上面这个user_main.c 里面我是这样写的。。

#include "driver/uart.h"

void user_init()
{
	uart_init(115200, 115200);
	uart0_sendStr("\r\nHello World\r\n");
}
void user_rf_pre_init(){}

然后对应的串口
如果对应115200波特率,内容是这样的。。。

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第10张图片

如果对于76800,内容是这样的。

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第11张图片

乱码的位置刚好相反,,原因呢。。。其实以前也有说过。就是人家出厂时候的一些东西,在这个波特率上显示。。 传送门

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第12张图片


哦对了,上面115200的时候。
我没让打印wifi相关,怎么打印出来了呢?如何关闭呢?

【ESP8266之SDK开发】番外篇1:原生SDK v1.2.0 修改方法_第13张图片

对应332行的注释取消掉就行了。

原因:

通过注释,我们可以了解到,串口打印有三种选项。
1、默认 – 利用串口0进行打印,有一个缺陷就是当FIFO缓冲区满的时候,需要等待。此时os_printf利用串口0。
2、取消注释332行,就是利用UART1打印。UART1在GPIO2,GPIO2相当于TXD1!不够UART1通常用于debug信息的打印。此时os_printf利用串口1。
3、取消337行注释,就是利用OPTION3。是一种无需等待的串口0打印。当然无需等待也就意味着会丢字节!此时os_printf利用串口0。

关于串口1,串口0更多相关信息,可以戳这里!

你可能感兴趣的:(#,ESP8266学习)