查看: 2987|回复: 2

[S08P-Lite体验]五.定时器计时

[复制链接]
  • TA的每日心情
    开心
    2021-6-16 07:43
  • 签到天数: 155 天

    [LV.7]常住居民III

    9

    主题

    519

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1150
    最后登录
    2021-11-12
    发表于 2021-1-23 00:45:05 | 显示全部楼层 |阅读模式
    定时器没啥好介绍的,计时就完事了。
    定时器的时钟是有来源的,此处为了简单,在官方例程上面进行修改,直接调用Sys_Init()对系统时钟进行初始化。

    我们通过设置一个1ms的定时器,每次中断的时候在中断里面计数,达到1000的时候让 LED0 进行翻转。

    设置1ms的中断时,分频系数最多只能选到128,而不能选到256.

    定时器初始化
    1. void MTIM0_Init( void ) {
    2.         
    3.     /* MTIM0 Initial */
    4.     MTIM0_CLK = 0x07;                       
    5.     MTIM0_MOD = 124;                        
    6.     MTIM0_SC  = 0x60;
    7.    
    8. }
    复制代码



    中断函数
    1. interrupt VectorNumber_Vmtim0 void  Mtim0_ISR() {
    2.         
    3.     static unsigned int _count = 0;
    4.         
    5.     if(MTIM0_SC_TOF) {
    6.         MTIM0_SC_TOF = 0;               
    7.     }
    8.     _count++;
    9.     if (_count >= 1000)
    10.     {        
    11.         _count = 0;
    12.         LED0 = !LED0;
    13.     }
    14. }
    复制代码
    最后只需要在主函数上面初始化系统时钟和定时器,LED,就可以看到LED以1秒1次的频率进行闪烁

    1. void main(void)
    2. {
    3.     Sys_Init();
    4.     EnableInterrupts;
    5.    
    6.     LED_Init();
    7.     MTIM0_Init();
    8.    
    9.     while (1);
    10.    
    11. }
    复制代码


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

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2021-1-23 14:22:12 | 显示全部楼层
    这小代码写得。。。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    3 天前
  • 签到天数: 617 天

    [LV.9]以坛为家II

    0

    主题

    1807

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4493
    最后登录
    2024-4-22
    发表于 2021-6-8 18:37:04 | 显示全部楼层
    学习支持
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-25 05:09 , Processed in 0.105287 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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