查看: 1916|回复: 5

[原创] LPC1768 Dev kit 开发板 + 5、systick定时器延时

[复制链接]
  • TA的每日心情
    开心
    昨天 23:45
  • 签到天数: 1318 天

    [LV.10]以坛为家III

    124

    主题

    2832

    帖子

    31

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7575
    最后登录
    2024-4-27
    发表于 2019-2-26 08:36:19 | 显示全部楼层 |阅读模式
            在上个点灯例子中使用for函数延时,会占用系统较多的时间,在上个例子中使用systick定时器中断作为延时函数。

       
        一、程序部分


        1.1、延时程序

    1. //delay.c
    2. #include "Blinky.h"

    3. volatile uint32_t msTicks;                            /* counts 1ms timeTicks */

    4. //SysTick_Handler中断函数
    5. void SysTick_Handler(void)
    6. {
    7.   msTicks++;                        /* increment counter necessary in Delay() */
    8. }

    9. //延时函数  -- 1s基数
    10. void Delay (uint32_t dlyTicks)
    11. {
    12.   uint32_t curTicks;

    13.   curTicks = msTicks ;
    14.   while ((msTicks - curTicks) < dlyTicks)
    15.   ;
    16. }

    17. //systick初始化
    18. void init_sysytick(void)
    19. {
    20.         if (SysTick_Config(SystemCoreClock / 1000))    //设置1S中断
    21.         {  
    22.     while (1);                                   
    23.   }
    24. }


    25. //delay.h
    26. #ifndef __DELAY_H__
    27. #define __DELAY_H__

    28. #include "LPC17xx.h"
    29. #include "DataTypes.h"

    30. extern void Delay (uint32_t dlyTicks);
    31. extern void init_sysytick(void);

    32. #endif
    复制代码

        1.2、主程序
    1. int main (void)
    2. {
    3.   INT32U i,j;
    4.   SystemInit();
    5.         init_sysytick();
    6.         init_beep();
    7.         init_led();

    8.         while(1)
    9.         {
    10.                 led_off();
    11.                 Delay(500);
    12.                 led_on();
    13.                 Delay(500);
    14.         }
    15. }
    复制代码


        二、执行结果


        使用示波器测量P2.30驱动Q5上的波形,如下:
        0226.png


       延时0.5S,和程序结果一致。




       





    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情

    2021-2-4 09:24
  • 签到天数: 190 天

    [LV.7]常住居民III

    38

    主题

    591

    帖子

    28

    金牌会员

    Rank: 6Rank: 6

    积分
    2193
    最后登录
    2023-12-1
    发表于 2019-2-26 13:38:59 | 显示全部楼层
    这是1ms中断吧
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 23:45
  • 签到天数: 1318 天

    [LV.10]以坛为家III

    124

    主题

    2832

    帖子

    31

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7575
    最后登录
    2024-4-27
     楼主| 发表于 2019-2-26 13:57:01 | 显示全部楼层

    是的                              
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 23:45
  • 签到天数: 1318 天

    [LV.10]以坛为家III

    124

    主题

    2832

    帖子

    31

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7575
    最后登录
    2024-4-27
     楼主| 发表于 2019-2-26 13:57:49 | 显示全部楼层

    备注可能有些出入
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 23:45
  • 签到天数: 1318 天

    [LV.10]以坛为家III

    124

    主题

    2832

    帖子

    31

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7575
    最后登录
    2024-4-27
     楼主| 发表于 2019-2-26 13:57:54 | 显示全部楼层

    备注可能有些出入     
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:53
  • 签到天数: 1479 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    92703
    最后登录
    2024-4-26
    发表于 2019-2-26 18:02:31 | 显示全部楼层
    01.png 支持一下 02.png 03.png 04.png 05.png 06.png 07.png 08.png 09.png 10.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-27 08:11 , Processed in 0.123446 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表