2025年esp8266天气时钟代码(esp8266开发板制作天气时钟)

esp8266天气时钟代码(esp8266开发板制作天气时钟)就权当是给自己写的一个总结吧 中间也走过不少的弯路 没人指导 只有自己慢慢摸索 网上看到的教程也是零零散散 或许是自己 C 代码功底不够硬 总之照搬别人的结果坑到最后还是自己 搞得一身疲惫 最后索性 按自己的想法来搞 废话不多说 先上几张图 共有 6 页 MCU 上两个按键控制 K1 向前翻页 K2 向后翻 第 1 页为默认页 是 switch 控制的默认页 然后第二页是 RTC 实时时钟

大家好,我是讯享网,很高兴认识大家。



esp8266天气时钟教程 esp8266 oled天气_嵌入式
讯享网

esp8266天气时钟教程 esp8266 oled天气_嵌入式_02

esp8266天气时钟教程 esp8266 oled天气_esp8266天气时钟教程_03

esp8266天气时钟教程 esp8266 oled天气_esp8266天气时钟教程_04

esp8266天气时钟教程 esp8266 oled天气_stm32_05

esp8266天气时钟教程 esp8266 oled天气_stm32_06

第二个指针数组是提示。这里多说一句,本人不才,在这里问一下大家,这个串口通信能不能同时复用两组引脚?比如USART1,它可以复用PA9,PA10还有PD5,PD6,如果我两组都想一起用行不行?我自己试了一下,结果搞得两组引脚都失灵了,屏闭掉其中一组,另外一组又好了,实在无语!如果不用两组引脚,那么我就无法在串口助手上打印我需要的信息,我记得在做GPS实验时是可行的,为什么这里就不行了呢?仔细缕一下思路发现了问题:就是说两组引脚共用一个USART,会出现两个输入和两个输出,USART在串口打印出来变成输出,而只要有输出了,它又会变成是给ESP8266输出命令的!这有点乱套了,反正我是试不出来,不知道哪位兄弟做出来过,告知我一下。
对了,这里我要说一下,我用的是STM32F407VET6。
后来,我又充分挖掘了我的这颗小脑袋的潜能,我找到了一种方法,用两个串口通信:USART1,和USART2。
USART1连接ESP8266,USART2配合USART1和串口助手,这样我就能在串口助手上看到了调试信息,还能用串口助手给ESP8266发送指令!具体做法请看本文后边的代码,总
之呢,没有人带,靠自己去摸索,坑真的是一个接着一个,比如,ESP8266,要用AT退出透传真的好难,发了三个“+++”--此处没有回车换行,它是一点反应都没有,看来是我对ESP8266学得不够精,我承认了!我只会按MCU上的复位键,然后再“+++”,这样好多了,每次都能退出了。
回到正题:我用一个for循环就把所有的AT指令发送出去,因为我发现ESP8266也不是吃素的,它反应很快,都是秒应答的,既然如此,我为什么不发快一点呢,所以我用for循环把指令发送出去,而且后期上边的设置可能也不会再走一遍吧?因为每次只有连上网了,前边的设置不已经是默认的吗?

这里再多说一句关于按键的,按键还是少用中断为好,因为你一旦用了中断就会去设置中断服务函数,就会有可能与其它的中断优先级产生冲突,比如,刚开始做OLED显示的时候,我是用K1,和K2的外部中断来控制换页的,按一下K1进入K1的中断服务函数,然后清OLED屏,然后页编号—++,(page为全局变量),那中断优先级怎么设置?因为清屏里边涉及到IIC,如果是软件模拟IIC还好一点,偶尔不会出问题,如果是硬件IIC,问题就出来了,一旦按键的中断优先级比IIC中断优先级高,那么它就会卡死在K1清屏函数这里!另一方面:中断服务函数中执行另一个函数的中断服务函数总觉得哪里怪怪的,想了一下干脆不用了,按键这么简单的东西,总不能栽在这里对吧?用KeySCan()轮询方法多好,省事又方便!代码很简单:

最后主函数用switch()达到换页显示的效果:

case 1是显示RTC时钟的,网络上返回的时钟仅用来校正;

需要说明的是天气图标我并没有全部做成16进制的数据格式,因为太多了,所以只做了一部分。同时我也会把天气图标全部放传上,供大家参考。
总之,ESP8266模块想玩好并不容易,说难不难,说不难又难,它涉及到IIC或SPI,USART,OLED,ESP8266,RTC,当然还有按键的写法,如果是参考正点原子的还会涉及到定时器TIM,解析数据包cJSON的两个文件,网上很难找,也附上供大家使用,千万不要傻傻的用strstr()函数,会被人笑的。

小讯
上一篇 2025-05-17 14:55
下一篇 2025-06-16 13:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/197482.html