回答

收藏

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

#线上活动 #线上活动 2559 人阅读 | 0 人回复 | 2017-01-03

   定时器是计数器的一种应用。不同的mcu,片上定时器数量也不一样。mbed使用面向对象编程语言c++。
mbed提供了定时器对象。

用定时器测试延迟时间。
  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的时间。
串口输出如下:

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

在us级延迟就不准了。


评分

参与人数 1 +21 收起 理由
EEboard爱板网 + 21 3周发帖养成记 奖励

查看全部评分

分享到:
回复

使用道具 举报

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

本版积分规则

关闭

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