找回密码
 立即注册
查看: 230|回复: 5

一个简单问题,竟然出错,反而没办法

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:216
  • 最近打卡:2025-08-20 09:43:38
已绑定手机

64

主题

48

回帖

486

积分

中级会员

积分
486
发表于 2025-7-14 16:31:26 | 显示全部楼层 |阅读模式
截图202507141629494302.jpg

实际结果 LED3 怎么也不亮,似乎RTC中断没有进入

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:161
  • 最近打卡:2025-08-23 08:11:44

775

主题

1万

回帖

1万

积分

管理员

积分
18735
发表于 2025-7-14 16:39:02 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:537
  • 最近打卡:2025-08-24 01:00:11
已绑定手机

86

主题

5979

回帖

1万

积分

超级版主

积分
10832
发表于 2025-7-14 16:57:01 | 显示全部楼层
RTC初始化:
  1. P_SW2|=EAXFR;
  2. P1M1=0xC0;        P1M0=0x00;        //设置IO模式(晶振IO高阻)
  3. X32KCR=0x80;                        //启动外部32.768KHz晶振
  4. while(!(X32KCR&0x01));        //等待外部32.768KHz晶振稳定
  5. RTCCFG=0x00;                        //RTC选择外部32.768KHz时钟源
  6. INIYEAR                =25;        //初始化年
  7. INIMONTH        =1;                //初始化月
  8. INIDAY                =1;                //初始化日
  9. INIHOUR                =0;                //初始化时
  10. INIMIN                =0;                //初始化分
  11. INISEC                =0;                //初始化秒
  12. INISSEC                =0;                //初始化1/128秒
  13. INIWEEK                =3;                //初始化星期
  14. RTCCFG|=0x01;                //初始化RTC
  15. RTCIF=0x00;                //清除RTC中断标志
  16. RTCIEN=0x08;        //启用RTC秒中断
  17. RTCCR=0x01;                //打开RTC
  18. EA=1;                        //启用总中断
复制代码
RTC中断:
  1. void RTC_Isr(void) interrupt RTC_VECTOR
  2. {
  3. //        if(RTCIF&0x80)        //闹钟中断
  4. //        {
  5. //                RTCIF&=~0x80;
  6. //        }
  7. //        if(RTCIF&0x40)        //日中断
  8. //        {
  9. //                RTCIF&=~0x40;
  10. //        }
  11. //        if(RTCIF&0x20)        //时中断
  12. //        {
  13. //                RTCIF&=~0x20;
  14. //        }
  15. //        if(RTCIF&0x10)        //分中断
  16. //        {
  17. //                RTCIF&=~0x10;
  18. //        }
  19.         if(RTCIF&0x08)        //秒中断
  20.         {
  21.                 RTCIF&=~0x08;
  22.                 RTC_1s_Flag=1;
  23.         }
  24. //        if(RTCIF&0x04)        //1/2秒中断
  25. //        {
  26. //                RTCIF&=~0x04;
  27. //        }
  28. //        if(RTCIF&0x02)        //1/8秒中断
  29. //        {
  30. //                RTCIF&=~0x02;
  31. //        }
  32. //        if(RTCIF&0x01)        //1/32秒中断
  33. //        {
  34. //                RTCIF&=~0x01;
  35. //        }
  36. }
复制代码


回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:522
  • 最近打卡:2025-08-24 00:56:18
已绑定手机

40

主题

2410

回帖

3256

积分

荣誉版主

积分
3256
发表于 2025-7-14 22:02:30 | 显示全部楼层
RTC的中断号超过了31,需要使用扩展插件处理一下


截图202507142301354583.jpg
深圳国芯人工智能有限公司-工具软件
睁开眼睛做场梦~~~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:216
  • 最近打卡:2025-08-20 09:43:38
已绑定手机

64

主题

48

回帖

486

积分

中级会员

积分
486
发表于 2025-7-16 08:37:35 | 显示全部楼层
已经解决了,谢谢各位!
都是对的,缺少一个
   EA = 1;     //打开总中断

点评

笑哭了,这个原因……  发表于 2025-7-16 22:32
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-24 04:08 , Processed in 0.123079 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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