1. 首页 > 快讯

ESP8266 初入指南:轻松实现串口输出“Hello, World!”

大家好,今天来为大家解答ESP8266 初入指南:轻松实现串口输出“Hello, World!”这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

本文转载自微信公众号“嵌入式小书虫”,作者:FledgingSu。转载本文请联系嵌入式书虫公众号。

今天就开始讲一款物联网WiFi芯片,esp8266。

我见过很多朋友只是用AT命令来操作8266进行联网。事实上,乐鑫官网也为我们提供了SDK开发环境。

下面讲一下SDK开发环境,创建第一个helloword程序。

开发环境如下图:

双击打开后,设置工作区,点击下一步。

点击确定,进入欢迎界面,如下图:

把它划掉就可以了,如下图:

导入我们的第一个程序helloworld,右键选择导入

单击“C/C++”

选择第三个,然后点击下一步

导入项目并选择Cygwin GCC,单击Finish。

导入成功后出现下图:

打开APP目录-user-user_main.c(双击即可)

编写我们的helloworld 程序

voiduser_init()//程序入口{||初始化串口uart_init(115200,115200);||串口输出Helloworlduart0_sendStr('\r\nHelloworld!\r\n');}voiduser_rf_pre_init(){}user_init() is入口函数user_rf_pre_init()函数也是程序编写完成后需要编译的。

首先点击清理项目

然后点击构建项目

如下图所示,编译完成,控制台中显示Build Finished。

接下来就可以烧录程序了。

烧录文件路径F:\cx\esp8266\Helloworld\bin

在Helloworld\bin 目录中。

以下是烧录文件对应的地址:

eagle.flash.bin0x00000eagle.irom0text.bin0x40000esp_init_data_default.bin0x7c000blank.bin0x7e000

打开flash编程软件,如下图,选择Config中的文件。

开始编程,选择串口,点击Flash

等待编程完成,左下角会出现绿色对勾

打开串口助手接收数据并重置esp8266,如下图

我们只打印了Hello world!为什么下面打印了一堆东西?这时候我们就需要看一下串口初始化程序了。我复制了下面的串口初始化程序。

uart_init(UartBautRateuart0_br,UartBautRateuart1_br){/*这是处理来自任务的uart数据的示例,请更改优先级以适合您的应用程序任务存在*/system_os_task(uart_recvTask,uart_recvTaskPrio,uart_recvTaskQueue,uart_recvTaskQueueLen);//de mowithatasktoprocesstheuartdataUartD ev.baut_rate=uart0_br;uart_config(UART0);UartDev.baut_rate=uart1_br;uart_config(UART1); ETS_UART_INTR_ENABLE ();#ifUART_BUFF_ENpTxBuffer=Uart_Buf_Init(UART_TX_BUFFER_SIZE);pRxBuffer=Uart_Buf_Init(UART_RX_BUFFER_SIZE);#endif/*option1:usedefaultprint,outputfromuart0,willwaitsometimeiffifoisfull*///donothing./*option2: 输出fromuart1,uart1输出不会等待,只是为了输出调试信息*//*os_printfoutputuartdataviauart1( GPIO2) *///os_install_putc1((void*)uart1_write_char);//usethisonetooutputdebug informationviauart1///*option3:outputfromuart0willskipcurrentbyteiffifoisfullnow.*//*seeuart0_write_char_no_wait:youcanoutputviaabufferordirectlyoutput*//*os_printfoutputuartdataviauart 0oru artbuffer*///os_install_putc1((void*)uart0_write_char_no_wait); //usethistoprintviauart0 #ifUART_SELFTESTUART_BUFF_ENos_timer_disarm(buff_timer_t);os_timer_setfn(buff_timer_t,uart_test_rx,NULL);//ademotoprocessthedatainuartrxbufferos_timer_arm(buff_timer_t,10,1);#endif}第17行:使用默认打印,从uart0输出,将等待一些时间(如果fifo 是) full19~第21行:从uart1输出,uart1输出不会等待,只是为了输出调试信息

os_printf 通过uart1(GPIO2) 输出uart 数据

os_install_putc1((void *)uart1_write_char); //使用这个通过uart1输出调试信息

从注释中我们可以看到默认输出是uart0。如果我们想从uart1输出调试信息,只需打开第21行的注释即可,如下os_install_putc1((void*)uart1_write_char);修改完后,我们编译下载,打印看看输出是否正确。

如图所示,串口助手显示正确。

好了,esp8266的第一个程序就这样了,下一篇继续。

关于ESP8266 初入指南:轻松实现串口输出“Hello, World!”,的介绍到此结束,希望对大家有所帮助。

用户评论

龙吟凤

终于开始学习ESP8266了!我一直想尝试自己组装一个小型项目。

    有6位网友表示赞同!

各自安好ぃ

这篇文章的讲解思路很清晰,我能够理解串口输出的概念。

    有10位网友表示赞同!

颓废人士

"Hello world" 是程序员必不可少的入门案例,很有意思!

    有15位网友表示赞同!

◆残留德花瓣

学习编程首先要掌握基本的指令和概念,看来ESP8266编程也不例外啊。

    有12位网友表示赞同!

莫阑珊

ESP8266的应用场景那么多,串口输出也是其中常用的一种方式吧?

    有5位网友表示赞同!

浅笑√倾城

感觉编写这个简单的程序应该不算太难,有时间我也要试试手感!

    有14位网友表示赞同!

像从了良

原来 ESP8266 也能实现串口输出,挺灵活的。

    有19位网友表示赞同!

南宫沐风

最近在学习物联网,ESP8266 似乎很受欢迎的样子。

    有6位网友表示赞同!

剑已封鞘

想做个简单的小项目,这个入门教程应该很有帮助!

    有17位网友表示赞同!

寻鱼水之欢

感觉程序代码很简洁易懂,就是不知道怎么连接串口调试工具

    有14位网友表示赞同!

一纸愁肠。

这篇文章是学习 ESP8266 的好起点,可以一步步深入了解它。

    有18位网友表示赞同!

志平

编程确实需要不断练习和积累经验,从这个简单的“Hello world” 开始吧!

    有9位网友表示赞同!

嘲笑!

我一直很对微控制器的工作原理感兴趣,ESP8266 应该是个很好的学习对象。

    有6位网友表示赞同!

北染陌人

希望以后能用 ESP8266 做一些更有趣、更有用的项目!

    有18位网友表示赞同!

情深至命

串口调试工具也是很有用的学习工具,掌握它可以帮助我们更好地理解程序运行过程。

    有7位网友表示赞同!

怀念·最初

"Hello world" 这个程序其实蕴含了丰富的编程知识,值得细细品味。

    有6位网友表示赞同!

残留の笑颜

分享这种入门教程非常棒,可以让更多人参与到 ESP8266 的世界里来!

    有19位网友表示赞同!

顶个蘑菇闯天下i

学习新的技能很不容易,不过通过不断的努力,我们一定能掌握它!

    有11位网友表示赞同!

伱德柔情是我的痛。

ESP8266 确实是一个强大的平台,可以开发出很多创意型的产品。

    有16位网友表示赞同!

烬陌袅

编程世界真的很奇妙,期待自己也能做出一些有趣的电子项目!

    有17位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/7119.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666