用platformio編寫arduino程序


哈哈,今天瀏覽arduino.cc官網,找到一個好東東,以后,在ubuntu下用終端編程在也不發愁了。

platformio.org是一個物聯網全能的IDE,甚至還貼心的提供了在命令行下編程的版本:platformio CLI

好東西不能獨享啊,拿出來給看到這篇文章的童鞋們。

一、安裝篇。

platformio是用python開發,所以,要先安裝python環境,注意是python2.7版本。

#更新系統
apt update
apt upgrade
#安裝gcc編譯環境
apt install build-essential
#安裝python及開發包
apt install python python-all-dev python-setuptools python-wheel
#安裝pip及更新到最新版
apt install python-pip
pip install --upgrade pip
#安裝PlatFormIO
pip install -U platformio

二、使用前的准備工作。

1、使用前,首先要確定你使用的控制器類型,這里我使用的arduino uno板子。
platformio boards atmelavr
輸出:

Platform: atmelavr
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Type                  MCU            Frequency  Flash   RAM    Name
--------------------------------------------------------------------------------------------------------------------------------------------------------------
chiwawa               atmega32u4     16Mhz     28kB    2.5kB  Arduino Industrial 101
leonardo              atmega32u4     16Mhz     28kB    2.5kB  Arduino Leonardo
leonardoeth           atmega32u4     16Mhz     28kB    2.5kB  Arduino Leonardo ETH
lilypadatmega168      atmega168      8Mhz      14kB    1kB    Arduino LilyPad ATmega168
lilypadatmega328      atmega328p     8Mhz      30kB    2kB    Arduino LilyPad ATmega328
LilyPadUSB            atmega32u4     8Mhz      28kB    2.5kB  Arduino LilyPad USB
uno                   atmega328p     16Mhz     31kB    2kB    Arduino Uno
yun                   atmega32u4     16Mhz     28kB    2.5kB  Arduino Yun
yunmini               atmega32u4     16Mhz     28kB    2.5kB  Arduino Yun Mini

通過以上得知,arduino uno的類型是uno,如果用的lilypad的話,根據控制器型號判斷為lilypadatmega168 或lilypadatmega328

2、初始化類型為uno的板子:
#在創建工作目錄mkdir test
cd test
#執行初始化
platformio init --board uno

三、開始編程。
執行完初始化命令后,系統自動生成1各配置文件和2各目錄:

platformio.ini     (為配置文件)

lib      (自動生成的程序庫的目錄)

src      (存放程序源文件的目錄)

現在進入src目錄,創建一個以.c或.h或.cpp或.ino等待結尾的文件就可以開始編程了。

四、程序編寫注意事項:

程序基本和arduino IDE一致,但是,要在開頭寫一個頭文件(見下)才能通過編譯。
#include "Arduino.h"

例如:
#include "Arduino.h"
void setup()
{
    pinMode(LED_BUILTIN,OUTPUT);

}

void loop()
{
    digitalWrite(LED_BUILTIN,HIGH);
    delay(1000);
    digitalWrite(LED_BUILTIN,LOW);
    delay(1000);
}

以上為一個完整的程序編碼,文件名任意,但應該以.h .c .cpp .ino等系統可以識別的后綴結尾。

五、編譯

編寫程序完畢后,退回項目的根目錄,然后執行下面命令進行編譯:

platformio run -e uno

編譯完成后,上傳程序到uno

platformio run -t upload

如果想編譯后立即上傳,執行:

platformio run -e uno -t upload

如果想清理編譯過的文件:

platformio run -t clean

6、以上就是基本操作,是不是很好,真佩服老外的編碼精神,你剛想到一個念頭,已經有人做出原型了,

最后,在推薦一下官網:www.platformio.org


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM