学习记录 | ESP32

 一、

使用vscode的platformio IDE插件,需要下载数据得接入国内的镜像源下载,或者使用手机热点(注意流量消耗)。

二、

ESP32“定时器和PWM”一节里前面定时器中断串口打印出错,串口软件里显示

esp32 Core 1 panic'ed (Interrupt wdt timeout on CPU1)这行(看门狗超时)错误

把Serial.println(); 的判断语句 

if (interruptCounter > 5)
{
interruptCounter = 1;
}

放在void loop()就行中(注意不要放在loop中的if里面)原因就是“中断时间很短的情况,会出现这一次中断程序没有执行完下一次就来了,然后导致栈爆了然后一直重启”
具体 链接 这里有解释,反正我一小白是没看懂,欢迎有看懂的大佬解释一下。

三、

在使用wifi联网爬取和风天气的气象数据时出错(首先确认程序能正常编译和下载),端口全部显示乱码,要显示的返回值也是0。

需要在和风天气的api链接中添加一个“&gzip=n&en”,即完整api为

https://devapi.qweather.com/v7/weather/now?location=经纬度&gzip=n&en&key=密钥

根据一位大佬的见解,是“和风天气上有个标注说:v7版本API默认采用gzip压缩,可大幅降低流量,提高响应速度,请对你获取到的数据进行解压。 我觉得可能是因为这个原因,猜测&gzip=n&en这个参数可能是关闭gzip压缩或者是对数据进行gzip解压?”(原话,但我并是很不了解,同样有大佬解释下吗)

如果能够成功返回对应的数值,即成功,但仍有个别中文显示乱码,是串口调试软件不支持的原因。可以在Windows自带的商城Microsoft Store里,找 串口调试助手 这个软件,免费版功能就够用了,它便可以正常显示爬取的中文字符。

图标是这样的

界面是这样的

四、

同样是爬取天气数据时,显示实时天气(晴天/小雨/大雨...)等中文字符时,需要将数据类型改为

const char* Text ;

同样在串口输出时,改为:

Serial.printf("实时天气: %s \r\n", Text);

否则无法输出中文字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值