經過前兩個帖子的折騰,基本的開發環境已經搭建完畢!我們現在終於可以快樂的寫代碼、調傳感器了!!
因為小弟使用的是官方樂鑫原廠的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!