经过前两个帖子的折腾,基本的开发环境已经搭建完毕!我们现在终于可以快乐的写代码、调传感器了!!
因为小弟使用的是官方乐鑫原厂的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,保存退出编译并且下载程序sumake flash然后等待板子烧写完成,并且使用杜邦线连接LED到GPIO5,你就能看到LED闪烁了。LED闪烁测试完毕,我们继续增加一个任务。我直接参考官方的例子程序创建一个串口输出任务。然后在主函数里面创建一个新任务注意,一定要把优先级修改一下,不然会卡死在一个任务里面,因为我们用的是阻塞延时,因此需要把优先级修改。我修改为5。(这里不理解的请查阅freertos的相关资料,与esp32无关)然后编译下载su make flash等待下载完毕,打开串口助手sudo cutecom眼睛盯着led以及串口软件OK,LED闪烁和串口输出无误。enjoy youself!