打印
[技术问答]

请教一个关于NUC120实时时钟RTC中断的问题

[复制链接]
2897|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lussby|  楼主 | 2014-2-24 16:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我的硬件是外部接了12M晶振,以及RTC时钟的两个引脚接了32.768K的晶振,用官网的RTC例程测试,时钟和中断都可以。我用了之前新唐供应商给的库程序,时钟显示跟实际时间比较,显示正常。但是要进入RTC中断(中断函数里面用了点亮一个灯和串口打印字符"OK"没反应)进入不了。在这求大神指点一下,看我是那里出错了,在此先谢谢每一位帮忙和提供意见的朋友。另外说明一下下面的程序,int32_t RTC_EnableInt()这个函数是我参考官网的例程添加进去的,RTC中断我是放在TimeProcess.c文件里面的,我上传一下我的程序,以下是我测试的程序和截图: 程序TEST.rar (262.75 KB)   



沙发
lussby|  楼主 | 2014-2-25 11:28 | 只看该作者
终于把问题解决了,我上面的程序参考官网例程在int32_t RTC_EnableInt()函数中的设置没有问题。但是在TimeProcess.c里面的程序因为我用的不是跟官网同一个库,虽然编译通过了,但实际上中断函数入口是有问题的,经过昨天一天的研究,最后把Drv_RTC里面的中断函数进行修改后,发现1/128s. 1/64s,1/32s,1/16s,1/8s,1s等的中断都可以了。把TimeProcess.c里面的中断函数改为
void RTC_IRQHandler(void)
{
   
        if (RTC->RIIR.TI ==0x1)                         /* tick interrupt occurred */
        {
                   RTC->RIIR.TI = 1;
                  
                  g_u32RTC_Count++;                                            /* maintain RTC tick count */

                  printf ("\nOK!\n");

          if (g_pfnRTCCallBack_Tick != NULL)                           /* execute tick callback function */
          {
              g_pfnRTCCallBack_Tick();
          }

    }

}就可以了。另外也顺便测试了闹钟中断也是可以的。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
xyz549040622 + 2
板凳
从小木丁丁| | 2014-2-25 12:22 | 只看该作者
例程跟库对应好了

使用特权

评论回复
地板
niuyaliang| | 2014-2-25 22:46 | 只看该作者
lussby 发表于 2014-2-25 11:28
终于把问题解决了,我上面的程序参考官网例程在int32_t RTC_EnableInt()函数中的设置没有问题。但是在TimeP ...

楼主发现了没,我们以为的好多问题,其实都不在贴出的代码里面,很多错误都是想都没想到的

使用特权

评论回复
5
niuyaliang| | 2014-2-25 22:47 | 只看该作者
楼主正在搞120了,SPI调试过没呀,求经验

使用特权

评论回复
6
lussby|  楼主 | 2014-2-26 10:58 | 只看该作者
niuyaliang 发表于 2014-2-25 22:47
楼主正在搞120了,SPI调试过没呀,求经验

恩,SPI我有用过,不过我是用模拟的方式写的。

使用特权

评论回复
7
lussby|  楼主 | 2014-2-26 11:01 | 只看该作者
从小木丁丁 发表于 2014-2-25 12:22
例程跟库对应好了

恩,我这很蛋疼的。因为之前公司有些功能没调出来,然后就让供应商帮我们调,后面的同事写程序都用供应商的程序去写,可是官网的库却在不断更新。现在要放弃供应商的程序也不是,用官网的也不是。经常给这问题纠结到,官网的调通了,还得再调我们自己库的程序。:'(

使用特权

评论回复
8
骗子的片子| | 2014-2-26 16:02 | 只看该作者
lussby 发表于 2014-2-26 11:01
恩,我这很蛋疼的。因为之前公司有些功能没调出来,然后就让供应商帮我们调,后面的同事写程序都用供应商 ...

楼主看起来你们好辛苦啊,慢慢调吧

使用特权

评论回复
9
lussby|  楼主 | 2014-2-26 20:10 | 只看该作者
骗子的片子 发表于 2014-2-26 16:02
楼主看起来你们好辛苦啊,慢慢调吧

恩,也不辛苦啦。我们做的东西有很多现成的,用的功能都是大概那些,碰到我以上说的情况很少的。很多时候都是拿以前调试通过的驱动程序直接应用就行了。:lol

使用特权

评论回复
10
骗子的片子| | 2014-2-27 09:41 | 只看该作者
lussby 发表于 2014-2-26 20:10
恩,也不辛苦啦。我们做的东西有很多现成的,用的功能都是大概那些,碰到我以上说的情况很少的。很多时候 ...

嗯,二次开发?

使用特权

评论回复
11
lussby|  楼主 | 2014-2-27 14:38 | 只看该作者
骗子的片子 发表于 2014-2-27 09:41
嗯,二次开发?

不是的,我指的是单片机的外设程序很多时候调过了,以后要用直接拿过来用就行了。

使用特权

评论回复
12
骗子的片子| | 2014-2-27 21:36 | 只看该作者
lussby 发表于 2014-2-27 14:38
不是的,我指的是单片机的外设程序很多时候调过了,以后要用直接拿过来用就行了。 ...

跟二次开发差不多,只是拿自己的东西二次开发,厉害

使用特权

评论回复
13
骗子的片子| | 2014-2-27 21:47 | 只看该作者
顶一下楼主,有空好好交流

使用特权

评论回复
14
骗子的片子| | 2014-2-27 21:48 | 只看该作者
顶一下楼主,有时间好好交流

使用特权

评论回复
15
lussby|  楼主 | 2014-2-28 10:33 | 只看该作者
骗子的片子 发表于 2014-2-27 21:48
顶一下楼主,有时间好好交流

恩恩,有空多多交流。:handshake

使用特权

评论回复
16
lussby|  楼主 | 2014-2-28 10:34 | 只看该作者
lussby 发表于 2014-2-28 10:33
恩恩,有空多多交流。

刚加你好友了。:)

使用特权

评论回复
17
从小木丁丁| | 2014-3-8 18:39 | 只看该作者
lussby 发表于 2014-2-26 11:01
恩,我这很蛋疼的。因为之前公司有些功能没调出来,然后就让供应商帮我们调,后面的同事写程序都用供应商 ...

慢慢来吧,要不重新来一遍?

使用特权

评论回复
18
lussby|  楼主 | 2014-3-10 11:05 | 只看该作者
从小木丁丁 发表于 2014-3-8 18:39
慢慢来吧,要不重新来一遍?

不重来了。重来更麻烦,还得重新写USB的库、

使用特权

评论回复
19
从小木丁丁| | 2014-3-11 12:51 | 只看该作者
lussby 发表于 2014-3-10 11:05
不重来了。重来更麻烦,还得重新写USB的库、

那就慢慢来吧:lol

使用特权

评论回复
20
骗子的片子| | 2014-3-24 19:23 | 只看该作者
lussby 发表于 2014-2-28 10:34
刚加你好友了。

受到了,马上同意,我好久不上网了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

144

帖子

1

粉丝