原创 2012年3月1日——学习日记第4天——万用表、示波器

2012-3-12 21:13 780 12 12 分类: 消费电子

程老师说,许多大公司的嵌入式软件工程师不会使用万用表、示波器等这些常用工具,如果你会使用的话,老板会对你刮目相看的。下面是用示波器测试延时程序Delay()执行所用时间的代码。

 
#include  "config.h"
#include  "delay.h"
#define LED1  1<<16 //p1.16

/****************************************************************************
* 名称:initSystem()
* 功能:初始化IO
****************************************************************************/
void initSystem(void)
{
 IO1DIR = LED1;
 IO1SET = LED1;
}     
 
/****************************************************************************
* 名称:main()
* 功能:测试delay(40)和delay(4)所用时间
* 说明:
1、用示波器测试时间的方法,宏定义一个IO引脚,并初始化,在main函数中给这个IO引脚一个高电平,并延时;给这个IO引脚一个低电平,并延时。用示波器的笔一头指向ARM板的低电平,一头指向IO引脚的高电平。
2、估计程序时间,执行一条指令大概22纳秒,delay()中for语句是五条指令,一个for执行是100纳秒,for中的(i=40,j=5000)i*j*100=40*50000*100=200,000,000纳秒,(1秒=1000毫秒,1毫秒=1000微秒,1微秒=1000纳秒,1纳秒=1000皮秒)200,000,000纳秒等于200毫秒。防抖的延时程序一般介于20-25毫秒之间
****************************************************************************/
int main(void)
 {  
    initSystem();     
    while(1)
    {   
     IO1CLR=LED1;
     delay(4); 
       IO1SET=LED1;
     delay(40);    
    }  
    return 0;
   
}

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条