找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[NUC] 欢迎小牛们技术咨询,随时留言给我

  [复制链接]
跳转到指定楼层
#
M05x系列NUC1xx系列等都可咨询

大家不要所有提问 回答都在一个帖子里面,
都混在一起,每次进来 都找不到自己的问题与答案。
谢谢~~


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
只有想不到没有做不到
回复

使用道具 举报

8#
lussby 发表于 2014-2-26 10:57:25 | 显示全部楼层
dwxyo 发表于 2014-2-25 11:36
是按我的方法解决的吗?
我们期待你分享你的解决方案(方法),以帮助更多的人
...

恩,是我程序的中断函数有问题,我已经把DS1302的显示和中断分享了,链接地址是:http://www.nuvoton-m0.com/forum. ... ;tid=274&extra=
回复 支持 反对

使用道具 举报

7#
lussby 发表于 2014-2-25 11:13:31 | 显示全部楼层
dwxyo 发表于 2014-2-25 08:55
我建议你备份以前的程序,然后把和RTC无关的程序注掉,通过RTC的1/128S对某个引脚输出方波,通过示波器查 ...

恩恩,谢谢您,我已经解决问题了。
回复 支持 反对

使用道具 举报

6#
lussby 发表于 2014-2-24 10:44:09 | 显示全部楼层
lussby 发表于 2014-2-24 10:40
恩。谢谢版主的例程,我之前用的官方例程是可以进入RTC中断的,但是我们公司使用的新唐库程序是之前供应 ...

上面的这个程序是在定时器0中断里面打印时钟,串口号为1.波特率为9600. 外部接的晶振分别是12MHZ外部时钟,以及RTC时钟DX32I, DX32O接的32.768KHZ的晶振。
回复 支持 反对

使用道具 举报

5#
lussby 发表于 2014-2-24 10:40:15 | 显示全部楼层
本帖最后由 lussby 于 2014-2-24 11:01 编辑
dwxyo 发表于 2014-2-24 09:49
传一个例程供你参考

恩。谢谢版主的例程,我之前用的官方例程是可以进入RTC中断的,但是我们公司使用的新唐库程序是之前供应商给的,跟官方有点不一样,我传下我修改过的例程(我们供应商给的库),这个程序是可以正常显示时间的,但是进入不了RTC中断,RTC_EnableInt();这个函数之前是没有的,我是参考官方程序自己添加进去的,麻烦您帮我看一下,谢谢了!

QQ.png (31.43 KB, 下载次数: 313)

这是我的程序打印出来的效果,时间是正确的。

这是我的程序打印出来的效果,时间是正确的。

Test.rar

1.7 MB, 下载次数: 1263

RTC进入中断调试程序

回复 支持 反对

使用道具 举报

地板
lussby 发表于 2014-2-24 09:33:40 | 显示全部楼层
dwxyo 发表于 2014-2-24 09:29
单步调试看看哪里出了问题
1/128S能完成你的一个中断不?

恩。应该没问题。128ms 打印出两个字符应该可以。我试过一秒的也不行。我感觉应该是我设置那里有问题,可是我又检查不出问题出在那,求高手指导我一下,万分谢谢!
回复 支持 反对

使用道具 举报

板凳
lussby 发表于 2014-2-24 09:20:20 | 显示全部楼层
lussby 发表于 2014-2-24 09:18
恩恩,您好!我现在可以实现时钟显示了。可是在设置中断的时候,我打算让其1/128s中断一次,可是发现没有 ...

这是我的中断函数。
/*---------------------------------------------------------------------------------------------------------*/
/* RTC Tick Handle                                                                              */
/*---------------------------------------------------------------------------------------------------------*/
void RTC_TickHandle(void)
{
        printf ("\nOK!\n");
//        S_DRVRTC_TIME_DATA_T sCurTime;
//       
//        /* Get the currnet time */
//        RTC_Read(&sCurTime);
//       
//        printf("Current Time:%d/%02d/%02d %02d:%02d:%02d\n",sCurTime.u32Year,sCurTime.u32cMonth,sCurTime.u32cDay,sCurTime.u32cHour,sCurTime.u32cMinute,sCurTime.u32cSecond);                               
//       
//        g_u32TICK++;
}
回复 支持 反对

使用道具 举报

沙发
lussby 发表于 2014-2-24 09:18:26 | 显示全部楼层
dwxyo 发表于 2014-2-24 09:14
实时时钟是基于外部低速时钟32.768K的

恩恩,您好!我现在可以实现时钟显示了。可是在设置中断的时候,我打算让其1/128s中断一次,可是发现没有进入中断。请问设置中断这样设置可吗?                                                                                                                                







int32_t RTC_EnableInt()
{

    RTC->TTR.TTR = 7        ;

        RTC->RIER.TIER = 1;
       
        NVIC_EnableIRQ(RTC_IRQn);

        return E_SUCCESS;

}
回复 支持 反对

使用道具 举报

楼主
lussby 发表于 2014-2-21 10:33:38 | 显示全部楼层
你好,为什么我用官网的例程测试NUC120LE03A的RTC时钟,发现实际时钟走5-7秒,NUC120LE03A的实时时钟才走1秒呢?我的时钟是根据测试程序要求选择外部时钟12MHz的,单片机的DX32I,DX32O引脚连接32.678KMZ晶振
回复 支持 反对

使用道具 举报

#
lussby 发表于 2014-2-21 10:29:13 | 显示全部楼层
你好。为什么我用官网的例程测试NUC120LE03A的实时时钟,时钟显示是对的,但是在显示的时候,我发现实际时钟是5-7秒的时候,NUC120LE03A的实时时钟才走一秒呢?
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU