从头文件的名字就可以看出这个函数的主要作用是什么了,延时.
#ifndef DELAY_H
#define DELAY_H
#ifdef __cplusplus
extern "C"
{
#endif
#include "lpc12xx_libcfg.h"
extern __asm void SysCtlDelay(unsigned long ulCount);
extern void DelayS(unsigned long time);
extern void DelayMS(unsigned long time);
extern void DelayUS(unsigned long time);
#ifdef __cplusplus
}
#endif
#endif
从这里可以看到这个头文件就声明了四个函数,延时秒/毫秒/微秒/
新的问题:
这个函数具体是怎么实现的呢?
__asm void SysCtlDelay(unsigned long ulCount);
系统延时?
然后在论坛上找到下(搜索"微秒")果然找到了这个函数.
http://bbs.zlgmcu.com/dispbbs.asp?BoardID=41&ID=10524
SysCtlDelay(unsigned long ulCount)
{
__asm(" subs r0, #1\n"
" bne.n SysCtlDelay\n"
" bx lr");
}
此函数在sysctl.c里面.
这个sysctl.c文件有两个位置
一个是在Keil的安装目录下.
另个是在TKStudio的安装目录下:
这两个问文件只有一处不同:
就是在TKStudio里面多了一个定义 define gcc