查看: 175|回复: 0

[技术] 【赚周年币】技术贴Week 1-Day6-----mbed之定时器

[复制链接]

56

主题

1

好友

2580

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    昨天 17:35
  • 签到天数: 765 天

    连续签到: 5 天

    [LV.10]以坛为家III

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

    发表于 2017-1-3 13:06:32 |显示全部楼层
       定时器是计数器的一种应用。不同的mcu,片上定时器数量也不一样。mbed使用面向对象编程语言c++。
    mbed提供了定时器对象。
    1.JPG

    用定时器测试延迟时间。
    1. #include "mbed.h"

    2. DigitalOut myled(P0_28);
    3. Timer mytimer;                  
    4. int mytime1,mytime2;
    5. Serial pc(P0_4,P0_0);
    6. int main() {
    7.     mytimer.start();
    8.     while(1) {
    9.         mytime1=mytimer.read_ms();
    10.         myled = 1;
    11.         wait_ms(500);        
    12.         myled = 0;
    13.         mytime2=mytimer.read_ms();
    14.         wait(0.2);
    15.         pc.printf("time:%d \r\n",mytime2-mytime1);
    16.         mytimer.reset();
    17.     }
    18. }
    复制代码
    测试点亮LED的时间。
    串口输出如下:
    2.JPG

    在毫秒级还是比较准的。使用微妙级延时10us测试的串口输出:
    3.JPG

    在us级延迟就不准了。


    已有 1 人评分 收起 理由
    EEboard爱板网 + 21 3周发帖养成记 奖励

    总评分:  + 21   查看全部评分

    回复

    使用道具 举报

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

    关闭

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

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

    GMT+8, 2017-8-18 09:14 , Processed in 0.137185 second(s), 15 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部