查看: 2834|回复: 1

【Curie Nano】基础学习

[复制链接]
  • TA的每日心情
    奋斗
    2023-6-27 14:09
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-5-14 10:38:53 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 9robot 于 2017-5-14 10:50 编辑

    拿到Curie nano也有段时间了,一直没发帖子,先发一个,后续再更新一下。我的学习过程基本上是依据arduino IDE自带的例子来学习的。
    一、开发环境的建立
    在活动还没开始时,管理员就已经在论坛里贴出了Curie Nano的开发环境的教程,不在赘述,相对还是比较简单的。就是需要有点耐心,我在网络状况良好的情况下,重复了大概五次吧,才安装成功。
    捕获.JPG

    二、IO的使用
    学单片机时,习惯了称呼引脚为GPIO,但是看大家都不会这么称呼arduino 的引脚。
    0947413uogvvvv3hi5vvqz.png


    Curie Nano的IO资源如下,虽然和单片机比,在数量上不具有优势,但是对于一般的应用还是够用的。
    • 数字IO口:15个(包含4个PWM引脚D3,D5,D6,D9)
    • 模拟IO输入:6个
    • IO口直流驱动能力:2mA-8mA

    拿到板子建立好工程后,第一步是点灯,例子里面有blink程序,打开后,编译下载到Curie Nano中,在过5秒后可以看到板子上的绿色LED每个500毫秒的间隔闪烁。
    1. // the setup function runs once when you press reset or power the board
    2. void setup() {
    3.   // initialize digital pin LED_BUILTIN as an output.
    4.   pinMode(LED_BUILTIN, OUTPUT);
    5. }

    6. // the loop function runs over and over again forever
    7. void loop() {
    8.   digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
    9.   delay(1000);                       // wait for a second
    10.   digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
    11.   delay(1000);                       // wait for a second
    12. }
    复制代码
    这里面用到两个和IO有关的函数,pinMode(LED_BUILTIN, OUTPUT)、digitalWrite(LED_BUILTIN, HIGH),

    pinMode(LED_BUILTIN, OUTPUT)函数用于设定IO的工作模式,第一个参数选择端口,如写9,则是对D9进行设定,第二个参数则是工作模式,有三种工作模式
    INPUT 输入模式
    OUTPUT 输出模式
    INPUT_PULLUP 输入上拉模式

    digitalWrite(LED_BUILTIN, HIGH)函数用于对引脚的电平进行控制,LED_BUILTIN实际是D13,该函数将D13的点评设置为高,实际也可以将HIGH替换为1。

    如果想要使用按键,则可以将IO设置为输入模式,采用digitalRead(2)函数读取D2引脚上的电平,返回值为0或1,代表低电平和高电平,下面函数完成的对D2的电平高低的读取。
    1. int pushButton = 2;

    2. // the setup routine runs once when you press reset:
    3. void setup() {
    4.   // initialize serial communication at 9600 bits per second:
    5.   Serial.begin(9600);
    6.   // make the pushbutton's pin an input:
    7.   pinMode(pushButton, INPUT);
    8. }

    9. // the loop routine runs over and over again forever:
    10. void loop() {
    11.   // read the input pin:
    12.   int buttonState = digitalRead(pushButton);
    13.   // print out the state of the button:
    14.   Serial.println(buttonState);
    15.   delay(1);        // delay in between reads for stability
    16. }
    复制代码
    Curie Nano自带了6个模拟端口,10位ADC,但电压不能超过3.3V,在使用模拟端口时,不需要进行初始化设置,直接使用analogRead(A0)函数即可,返回一个值,这个值除以1023乘以3.3就是端口上对应的电压。
    1. // the setup routine runs once when you press reset:
    2. void setup() {
    3.   // initialize serial communication at 9600 bits per second:
    4.   Serial.begin(9600);
    5. }

    6. // the loop routine runs over and over again forever:
    7. void loop() {
    8.   // read the input on analog pin 0:
    9.   int sensorValue = analogRead(A0);
    10.   // print out the value you read:
    11.   Serial.println(sensorValue);
    12.   delay(1);        // delay in between reads for stability
    13. }
    复制代码
    回复

    使用道具 举报

  • TA的每日心情

    2021-12-7 12:35
  • 签到天数: 1354 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-5-14 11:52:57 | 显示全部楼层
    下载下来,参考学习
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-4-26 12:46 , Processed in 0.116307 second(s), 18 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.