查看: 3298|回复: 6

[分享] 【LPC800项目】代码分享:Systick的使用.

[复制链接]
  • TA的每日心情
    开心
    2023-6-2 13:32
  • 签到天数: 272 天

    连续签到: 1 天

    [LV.8]以坛为家I

    44

    主题

    995

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4413
    最后登录
    2023-6-2
    发表于 2016-12-5 12:28:25 | 显示全部楼层 |阅读模式
    Systick是一个CM0+自带的时钟.
    设置好也是能用的.
    下面就是两个例子,集成在工程了.


    1. /*system clock frequency is 60MHz.*/
    2. void Systick_init_30M_timer(void){
    3.     SysTick->LOAD=16777215;
    4.     SysTick->VAL=0;
    5.     SysTick->CTRL=1;
    6. }

    7. unsigned char timeout(volatile unsigned long *timer,unsigned long interval){
    8.     volatile unsigned long cnt=SysTick->VAL;
    9.     volatile unsigned long differ;
    10.     if(cnt<=*timer){
    11.         differ=*timer-cnt;
    12.     }else{
    13.         differ=16777216+*timer-cnt;
    14.     }
    15.     if(differ>=interval*30){
    16.         *timer=cnt;
    17.         return(1);
    18.     }else{
    19.         return(0);
    20.     }
    21. }

    22. void start_1us_cnt(void){
    23.     systick_timer=SysTick->VAL;
    24. }

    25. unsigned long stop_1us_cnt(void){
    26.     unsigned long t=SysTick->VAL;
    27.     unsigned long differ=0;
    28.     if(t<=systick_timer){
    29.         differ=systick_timer-t;
    30.     }else{
    31.         differ=16777216+systick_timer-t;
    32.     }
    33.     return(differ/30);
    34. }
    复制代码
    第一个功能 timeout,相信大家会知道有什么用.
    第二个功能 1us计时器,可以测量代码用时.
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-21 08:52
  • 签到天数: 861 天

    连续签到: 1 天

    [LV.10]以坛为家III

    75

    主题

    2523

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5867
    最后登录
    2025-1-22
    发表于 2016-12-5 12:31:35 | 显示全部楼层
    谢谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-10-15 13:16
  • 签到天数: 191 天

    连续签到: 1 天

    [LV.7]常住居民III

    11

    主题

    664

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1722
    最后登录
    2017-10-15
    发表于 2016-12-5 13:35:08 | 显示全部楼层
    谢谢分享              
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2017-1-24 08:47
  • 签到天数: 49 天

    连续签到: 1 天

    [LV.5]常住居民I

    0

    主题

    524

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1267
    最后登录
    2017-4-19
    发表于 2016-12-5 15:19:23 | 显示全部楼层
    用mbed设置   方便的            
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16702
    最后登录
    1970-1-1
    发表于 2016-12-5 20:54:47 | 显示全部楼层
    多谢分享
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-6-2 13:32
  • 签到天数: 272 天

    连续签到: 1 天

    [LV.8]以坛为家I

    44

    主题

    995

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4413
    最后登录
    2023-6-2
     楼主| 发表于 2016-12-27 09:52:27 | 显示全部楼层

    这个也是最近才发现的新功能.

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-12-28 22:47:06 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 22:27 , Processed in 0.094109 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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