查看: 39|回复: 0

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

[复制链接]

32

主题

0

好友

2143

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    昨天 12:20
  • 签到天数: 530 天

    [LV.9]以坛为家II

    爱板会员勋章 活跃会员勋章 发帖机器勋章 在线达人勋章

    发表于 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 人评分周年币 收起 理由
    loveeeboard + 10

    总评分: 周年币 + 10   查看全部评分

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

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


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-8 00:42 , Processed in 0.118353 second(s), 12 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部