查看: 1476|回复: 0

【赚周年币】从0开始学mbed(2)----第一个例程blink

[复制链接]
  • TA的每日心情
    奋斗
    2020-5-27 15:41
  • 签到天数: 868 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2016-11-30 12:33:19 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 wambob 于 2016-12-1 19:00 编辑

    看懂第一个blink例程。
    1. #include "mbed.h"

    2. DigitalOut myled(P0_28);

    3. int main() {
    4.     while(1) {
    5.         myled = 1;
    6.         wait(0.2);
    7.         myled = 0;
    8.         wait(0.2);
    9.     }
    10. }
    复制代码
    12.JPG
    第一行代码,头文件。
    第二行代码,通俗的说就是定义了一个 DigitalOut 类型的变量myled,作用于P0_28脚。
    mbed的库是用C++写的。
    1.JPG
    按照成员函数的写法,其实应该是这样的
    1. #include "mbed.h"

    2. DigitalOut myled(P0_28);

    3. int main() {
    4.     while(1) {
    5.         myled.write(1);
    6.         wait(0.2);
    7.         myled.write(0);
    8.         wait(0.2);
    9.     }
    10. }
    复制代码
    涉及到了操作符重载知识。暂时不管,知道myled.write(1)相当于 myled=1就可以了。
    数字是离散的信号。逻辑电平1和0。
    对于VDD=3.3V的mcu来说:
    任何低于0.3*VDD(即0.3*3.3)的信号都是低点平,即逻辑0。
    任何高于0.7*VDD(即0.7*3.3)的信号都是高点平,即逻辑1。
    对于输出而言,逻辑0为输出0V,逻辑1为输出VDD。
    这是逻辑1能点亮LED的前提。
    wait(0.2)是一个秒级的延时函数。
    函数原型 void wait(float s),可见,这个延迟时间值是浮点类型。
    毫秒和微妙的函数原型是
    void wait_ms(int ms) 和 void wait_us(int us)。延时值是整型的。


    评分

    参与人数 1 +10 收起 理由
    loveeeboard + 10

    查看全部评分

    回复

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-3-29 21:32 , Processed in 0.136034 second(s), 18 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.