ESP32学习笔记(三)之运行多任务
经过前两个帖子的折腾,基本的开发环境已经搭建完毕!我们现在终于可以快乐的写代码、调传感器了!!
因为小弟使用的是官方乐鑫原厂的SDK,我在官网也只能找到带freertos的SDK包,因此下面就基于这个原厂SDK来给大家分享一下esp32运行多任务的过程(LED闪烁+串口打印)
首先我们把 esp/esp-idf/examples 里面的LED灯闪烁的例程序复制出来。
这里有个小细节,因为官方的blink程序,是通过menuconfig这个SDK设置工具来选择引脚的,因此你可以使用SDK配置工具直接选择你需要控制的引脚,也可以用程序来选择引脚, 下面我将使用SDK配置工具,也就是menuconfig来配置引脚。
进入esp目录,把程序复制出来
cd esp
cp -r /esp/esp-idf/examples/get-started/blink . (注意不要漏掉 . 这是复制到本目录的意思)
使用vim观看代码写法
sudo vim main.c (先进入blink/main这个目录,再运行此语句)
代码大概意思就是设置GPIO电平,来达到LED闪烁的效果,然后主函数创建一个任务。
然后我先测试一下程序的效果。
执行
make menuconfig
上下键选择到第5个选项
这个选项是例程那个引脚选择工具,我们回车进去。
这里是选择io引脚,我选择5号引脚,也就是板子上面的GPIO5,保存退出
编译并且下载程序
su
make flash
然后等待板子烧写完成,并且使用杜邦线连接LED到GPIO5,你就能看到LED闪烁了。
LED闪烁测试完毕,我们继续增加一个任务。我直接参考官方的例子程序创建一个串口输出任务。
然后在主函数里面创建一个新任务
注意,一定要把优先级修改一下,不然会卡死在一个任务里面,因为我们用的是阻塞延时,因此需要把优先级修改。我修改为5。
(这里不理解的请查阅freertos的相关资料,与esp32无关)
然后编译下载
su
make flash
等待下载完毕,打开串口助手
sudo cutecom
眼睛盯着led以及串口软件
OK,LED闪烁和串口输出无误。
enjoy youself!