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

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

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2026-07-05 12:10:35
已绑定手机

90

主题

68

回帖

447

积分

中级会员

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

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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2026-07-03 08:57:36

830

主题

1万

回帖

2万

积分

管理员

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:727
  • 最近打卡:2026-06-26 17:48:25
已绑定手机

95

主题

7373

回帖

1万

积分

超级版主

积分
13944
发表于 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. }
复制代码


回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:788
  • 最近打卡:2026-07-05 13:03:19
已绑定手机

50

主题

2745

回帖

3039

积分

荣誉版主

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


截图202507142301354583.jpg
深圳国芯人工智能有限公司-工具软件
~~~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2026-07-05 12:10:35
已绑定手机

90

主题

68

回帖

447

积分

中级会员

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

点评

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-5 14:09 , Processed in 0.071104 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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