3. 使用Visual Stuido Code+PlatformIO IDE开发Arduino

来源:互联网 发布:2016网络流行语口头禅 编辑:程序博客网 时间:2024/05/22 03:06

简述

介绍如何使用VScode 直接开发Arduino 程序,避免使用Arduino IDE时的没有代码提示功能,文件关系不清晰、头文件打开不方便等问题及使用Visual Stdio集成插件的庞大安装工程;同时Visual Stuido Code插件PlatformIO IDE开发Arduino 跨平台无论你是用的windows,ubuntu或者mac都可以玩转。

安装Visual Stuido Code PlatformIO

  • https://code.visualstudio.com/页面下载安装vscode
  • 安装完成vscode启动,扩展页面下搜索platformio即可找到,选择第一个Platformio IDE,安装即可(这里需要耐心等待一会)

    • 安装完成,重新加载后,左下角会多一个小房子图标,点击后即可显示Platformio IDE主页

测试

  • 选择New Project创建工程,选择相应的Board,我这里使用Mega2560,输入2560找到对应的Board
  • 修改main.cpp
#include <Arduino.h>void setup() {    pinMode(13, OUTPUT);}void loop() {    digitalWrite(13, HIGH);    delayMicroseconds(1000);    digitalWrite(13, LOW);    delay(1000);}
  • 编译与下载
    • 同样左下角有一堆按钮
      选择upload即可完成下载,指示灯也可以正常闪烁,可以看到我们连端口都没有选择就完成了下载的工作,非常方便。

问题与高级功能

arduino IDE有库管理功能可以,下载到需要的库。这里还要方便,例如我们想使用TimerOne输出PWM,

#include <Arduino.h>#include <TimerOne.h>void setup() {    Timer1.initialize(40);}void loop() {    Timer1.pwm(11, 512);}

Arduino IDE我们会这样写,然库管理搜索下载TimerOne库,在这里我们只需要在配置文件platformio.ini加上下面一句即可

lib_deps = TimerOne

选择编译按钮编译,我们可以看到输出信息

找到了TimerOne库并下载至.piolibdeps文件夹下

注意点

  • 接上面我们也可以把下载好的TimerOne库直接放置在lib目录下,也就无需添加lib_deps。
  • 我们不想在main里面直接使用TimerOne的pwm,我们想自己写一个motor库,motor库会使用到TimerOne

motor.h

#ifndef TEST_MOTOR_H_#define TEST_MOTOR_H_class Motor{    public:        void init(unsigned char fre);        void pwm(unsigned short);};#endif

motor.cpp

#include "motor.h"#include "TimerOne.h"void Motor::init(unsigned char fre) {    Timer1.initialize(1000.0/fre);}void Motor::pwm(unsigned short val) {    Timer1.pwm(11,val);}

main.cpp

#include <Arduino.h>#include <motor.h>Motor motor1;void setup() {    motor1.init(15);}void loop() {    motor1.pwm(512);}
  • 编译完成,提示找不到TimerOne.h头文件,可以看到Library Dependency Graph没有TimerOne
  • 两种解决方法
    1. main.cpp include头文件TimerOne.h,这个比较low,英文main中根本就没有使用到TimerOne
      2.之前的办法添加lib_deps = TimerOne

总结

至此可以看到,使用VSCode集成的PlatformIO IDE插件开发与查看arduino的代码都非常方便

阅读全文
0 0
原创粉丝点击