zoukankan      html  css  js  c++  java
  • GateWay程序分析04_Delay.h

    从头文件的名字就可以看出这个函数的主要作用是什么了,延时.
    #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");
    }

    image

    此函数在sysctl.c里面.

     

    这个sysctl.c文件有两个位置

    一个是在Keil的安装目录下.

    另个是在TKStudio的安装目录下:

    image

    这两个问文件只有一处不同:

    就是在TKStudio里面多了一个定义  define gcc

    image

  • 相关阅读:
    回话处理程序(17)
    PDO介绍(16)
    MySQL基础
    保护网站安全(13)
    身份验证(12)
    处理HTML表单(11)
    错误和异常处理(7)
    jQuery 选择器
    官网jquery压缩版引用地址:
    HTML mate标签
  • 原文地址:https://www.cnblogs.com/xilifeng/p/3010868.html
Copyright © 2011-2022 走看看