查看: 2027|回复: 0

pcDuino8 Uno入门系列:Arduino快速开发入门(转)

[复制链接]

该用户从未签到

发表于 2016-4-29 13:55:47 | 显示全部楼层 |阅读模式
分享到:
 pcDuino8 Uno带有兼容Arduino Uno板的I/O接口,所以很多兼容Arduino的扩展板也可以在pcDuino8 Uno上使用。但注意,pcDuino8 Uno只是部分实现的I/O口的功能,比如接口的ADC功能需要通过外接ADC芯片才能够真正实现。
接下来快速介绍一下在pcDuino8 Uno上如何进行Arduino编程——采用命令行编程!
 Blink示例
开源硬件开发中的“点灯“,就跟软件编程中的“Hello World!”程序一样,是每个程序员必经之路,话不多说,直接上步骤。

硬件
  • 1 x pcDuino8 Uno
  • 兼容Arduino Uno的I/O
  • Arduino.png
  • 为了简单起见,示例仅演示如何控制GPIO口来控制板上的LED等。
  • PreviousNext
    pcDuino8 Uno入门系列:Arduino快速开发入门Posted by: Yao, Qi , 十一月 5, 2015
    [size=1pc]0


    pcDuino8 Uno带有兼容Arduino Uno板的I/O接口,所以很多兼容Arduino的扩展板也可以在pcDuino8 Uno上使用。但注意,pcDuino8 Uno只是部分实现的I/O口的功能,比如接口的ADC功能需要通过外接ADC芯片才能够真正实现。
    接下来快速介绍一下在pcDuino8 Uno上如何进行Arduino编程——采用命令行编程!
    Blink示例
    开源硬件开发中的“点灯“,就跟软件编程中的“Hello World!”程序一样,是每个程序员必经之路,话不多说,直接上步骤。

    硬件
    • 1 x pcDuino8 Uno

    兼容Arduino Uno的I/O

    为了简单起见,示例仅演示如何控制GPIO口来控制板上的LED等。

    步骤1.下载命令行下的Arduino开发环境——c_environment
    打开命令行终端,运行如下命令:
    [color=white !important]
    [color=white !important]?

    1



    下载开发环境
    2.编译[color=white !important]
    [color=white !important]?

    1

    2

    3

    cd c_environment  #进入开发环境
    vim sample/linker_led_test.c  #查看源代码
    make  #编译所有示例代码



    3.运行
    所有编译好程序会放在output/test目录下。我们直接适用liner_led_test示例程序控制LED的闪烁。
    [color=white !important]
    [color=white !important]?

    1

    $ output/test/linker_led_test 13 #让数字I/O引脚13,每隔1s,交替输出高低电平。



    用户可以看到在板上LED出现闪烁。使用者还可以参考sample目录下的各种示例,但注意,不是所有的示例都能够在pcDuino8 Uno上运行。

    Arduino程序清单:
    [color=white !important]
    [color=white !important]?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    /*
    * LED test program
    */
    #include <core.h>
    int led_pin = 1;

    void setup()
    {
    #ifndef PCDUINO_IDE
        if(argc != 2){
            goto _help;
        }

        led_pin = atoi(argv[1]);
    #endif
        if((led_pin < 0) || (led_pin > 13)){
            goto _help;
        }

        pinMode(led_pin, OUTPUT);
      return;

    _help:
        printf("Usage %s LED_PIN_NUM(0-13)\n", argv[0]);
        exit(-1);
    }

    void loop()
    {
      digitalWrite(led_pin, HIGH);  // 开启LED
      delay(1000);                  // 等待1s
      digitalWrite(led_pin, LOW);   // 关闭LED
      delay(1000);                  // 等待1s
    }







回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条



手机版|小黑屋|与非网

GMT+8, 2024-4-20 01:44 , Processed in 0.119481 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.