找回密码
 立即注册
楼主: i_***

T11定时器,新增24位低功耗定时器 T11

[复制链接]
  • TA的每日心情
    慵懒
    22 小时前
  • 签到天数: 88 天

    [LV.6]常住居民II

    13

    主题

    333

    回帖

    768

    积分

    荣誉版主

    热心市民

    积分
    768
    发表于 2024-4-25 23:24:35 | 显示全部楼层
    i_zw 发表于 2024-4-25 22:37
    T11 只能用来内部IRC唤醒吗,是不是能也可以用系统时钟做普通定时器。文档例子代码注释的有用系统时钟的 ...

    T11的时钟源灵活,除了低功耗唤醒,还支持普通定时器计数器的功能,是支持外部晶振和内部高低速IRC提供时基的,支持12T模式和8位预分频,我测试了没什么问题,下面的代码参考一下。

    main.c

    1. #include "stc8h.h"
    2. #include "intrins.h"
    3. void Timer11_Isr(void) interrupt USER_VECTOR
    4. {
    5.         P16 = !P16;
    6.         P17 = !P16;                       
    7. }
    8. void Timer11_Init(void)                //1秒@11.0592MHz
    9. {
    10.         T11CR &= 0xf3;
    11.         T11CR |= 0x04;                        //选择时钟源 (内部高速IRC)
    12.         T11PS = 0x0E;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
    13.         T11CR &= 0xEF;                        //定时器时钟12T模式
    14.         T11L = 0x00;                        //设置定时初始值
    15.         T11H = 0x10;                        //设置定时初始值
    16.         T11CR |= 0x80;                        //定时器11开始计时
    17.         T11CR |= 0x02;                        //使能定时器11中断
    18. }
    19. void main()
    20. {
    21.     EAXSFR();   //
    22.         P0M0 = 0x00;P0M1 = 0x00;
    23.     P1M0 = 0xc0;P1M1 = 0x00;
    24.     P2M0 = 0x00;P2M1 = 0x00;
    25.     P3M0 = 0x00;P3M1 = 0x00;
    26.     P4M0 = 0x00;P4M1 = 0x00;
    27.     P5M0 = 0x00;P5M1 = 0x00;
    28.     Timer11_Init();
    29.         EA = 1;
    30.     while (1);
    31. }
    复制代码


    irs.A51

    1.     CSEG    AT  021BH
    2.     JMP     006BH
    3.     END
    复制代码








    睁开眼睛做场梦~~~
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    12 小时前
  • 签到天数: 70 天

    [LV.6]常住居民II

    11

    主题

    389

    回帖

    1139

    积分

    金牌会员

    积分
    1139
    发表于 2024-4-26 01:33:29 | 显示全部楼层
    我是遇到问题才去翻手册,,,,没成想STC居然隐藏了个T11.....
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    13 小时前
  • 签到天数: 160 天

    [LV.7]常住居民III

    67

    主题

    838

    回帖

    2792

    积分

    金牌会员

    积分
    2792
    发表于 2024-4-26 08:00:55 | 显示全部楼层
    楼主的板子用导线暂连,可以测试多款芯片,应该是通用型的吧?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    5 天前
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2024-4-26 08:54:16 | 显示全部楼层
    xiangzichen 发表于 2024-4-26 01:33
    我是遇到问题才去翻手册,,,,没成想STC居然隐藏了个T11.....

    挺好的一个设计,,据说是为了搞类似systick定时器功能。。宣发也是这么宣发的。。

    点评

    搞systick的话,中断号太大还是个不大不小的坑,而且中断优先级固定为 0 级(最低级),也就是说这个中断是优先级最低的里面最靠后的,做systick定时器的话,体验应该会受到影响。  详情 回复 发表于 2024-4-26 17:01
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    12 小时前
  • 签到天数: 70 天

    [LV.6]常住居民II

    11

    主题

    389

    回帖

    1139

    积分

    金牌会员

    积分
    1139
    发表于 2024-4-26 09:07:51 | 显示全部楼层
    _奶咖君_ 发表于 2024-4-26 08:54
    挺好的一个设计,,据说是为了搞类似systick定时器功能。。宣发也是这么宣发的。。 ...

    看来还是要学习下看手册,起码看看目录,万一哪个功能能节省不少代码呢?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    22 小时前
  • 签到天数: 88 天

    [LV.6]常住居民II

    13

    主题

    333

    回帖

    768

    积分

    荣誉版主

    热心市民

    积分
    768
    发表于 2024-4-26 17:01:08 | 显示全部楼层
    _奶咖君_ 发表于 2024-4-26 08:54
    挺好的一个设计,,据说是为了搞类似systick定时器功能。。宣发也是这么宣发的。。 ...

    搞systick的话,中断号太大还是个不大不小的坑,而且中断优先级固定为 0 级(最低级),也就是说这个中断是优先级最低的里面最靠后的,做systick定时器的话,体验应该会受到影响。
    睁开眼睛做场梦~~~
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    5 天前
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 2024-4-26 17:13:04 | 显示全部楼层
    晓飛飛 发表于 2024-4-26 17:01
    搞systick的话,中断号太大还是个不大不小的坑,而且中断优先级固定为 0 级(最低级),也就是说这个中断 ...

    中断号这个确实在不想换编译器的情况下 确实有点蛋疼,,中断优先级这个 我看CM3里面 好像也是最低优先级来着?好像也没听说有吐槽优先级这个的,,,也可能是我用的少,关注的少吧

    点评

    systick定时器中断优先级最低的话,意味着如果在其它中断里面调用基于systick的delay函数就会阻塞,如果能避免调用的话,那就无所谓了。  详情 回复 发表于 2024-4-26 21:44
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    22 小时前
  • 签到天数: 88 天

    [LV.6]常住居民II

    13

    主题

    333

    回帖

    768

    积分

    荣誉版主

    热心市民

    积分
    768
    发表于 2024-4-26 21:44:53 | 显示全部楼层
    _奶咖君_ 发表于 2024-4-26 17:13
    中断号这个确实在不想换编译器的情况下 确实有点蛋疼,,中断优先级这个 我看CM3里面 好像也是最低优先级 ...

    systick定时器中断优先级最低的话,意味着如果在其它中断里面调用基于systick的delay函数就会阻塞,如果能避免调用的话,那就无所谓了。
    睁开眼睛做场梦~~~
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    5 天前
  • 签到天数: 134 天

    [LV.7]常住居民III

    20

    主题

    1039

    回帖

    2459

    积分

    金牌会员

    积分
    2459
    发表于 7 天前 | 显示全部楼层
    晓飛飛 发表于 2024-4-26 21:44
    systick定时器中断优先级最低的话,意味着如果在其它中断里面调用基于systick的delay函数就会阻塞,如果 ...

    啊 这个意思啊,,,那确实是这么安排都会有的问题

    点评

    CM3的systick定时器中断优先级是可以配置的,不是固定最低,可以了解一下。  详情 回复 发表于 7 天前
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    22 小时前
  • 签到天数: 88 天

    [LV.6]常住居民II

    13

    主题

    333

    回帖

    768

    积分

    荣誉版主

    热心市民

    积分
    768
    发表于 7 天前 来自手机 | 显示全部楼层
    _奶咖君_ 发表于 2024-4-28 08:50
    啊 这个意思啊,,,那确实是这么安排都会有的问题

    CM3的systick定时器中断优先级是可以配置的,不是固定最低,可以了解一下。
    睁开眼睛做场梦~~~
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-5 22:59 , Processed in 0.389985 second(s), 66 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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