完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试使用date和amp;来配置RTC。时间目的。但是下面的RTC配置不起作用,当我调试它挂在R TC.RTCCNT.B.RTCCNT的代码时。如何使用RTC是日期和时间的计时器计数器。时间。
SPCSetPeripheralClockMode(91, SPC5_ME_PCTL_RUN(1)| SPC5_ME_PCTL_LP(1)); / *将RTC模块配置为自主周期中断 生成内部唤醒事件* / RTC.RTCC.B.CNTEN = 0; //计数器重置并停止 RTC.RTCSUPV.B.SUPV = 0; //计数器重置并停止 RTC.RTCC.B.CLKSEL = 0x01; //将SIRC设置为API的源时钟 RTC.RTCC.B.DIV32EN = 0; //未使用32的分频时钟 RTC.RTCC.B.DIV512EN = 1; //将时钟分频为512 RTC.RTCC.B.APIVAL = 512/4; //将API计时器设置为2秒 RTC.RTCCNT.B.RTCCNT = 5678327; RTC.RTCS.R = 0xFFFFFFFF的; RTC.RTCC.B.CNTEN = 1; //计数器重置并停止 #spc56 #rtc#!colorado 以上来自于谷歌翻译 以下为原文 I am trying to configure the RTC using for date & time purpose. But the following RTC configuration is not working,when i debug the code it is hanging at R TC.RTCCNT.B.RTCCNT .How to use RTC is timer counter for date & time. SPCSetPeripheralClockMode(91, SPC5_ME_PCTL_RUN(1) | SPC5_ME_PCTL_LP(1)); /*configure RTC module as autonomous periodic interrupt to generate internal wakeup event*/ RTC.RTCC.B.CNTEN =0 ; //counter reset and stop RTC.RTCSUPV.B.SUPV =0 ; //counter reset and stop RTC.RTCC.B.CLKSEL = 0x01 ; //set SIRC as source clock for API RTC.RTCC.B.DIV32EN= 0; //Divide clock for 32 is not used RTC.RTCC.B.DIV512EN = 1; //divide clock for 512 RTC.RTCC.B.APIVAL = 512/4; //set API timer to 2 Seconds RTC.RTCCNT.B.RTCCNT =5678327; RTC.RTCS.R=0xFFFFFFFF; RTC.RTCC.B.CNTEN =1 ; //counter reset and stop #spc56 #rtc #!colorado |
|
相关推荐
3个回答
|
|
嗨,
编写RTCCNT时调试挂起,因为这是一个只读寄存器。 RTC的示例代码如下: SPCSetPeripheralClockMode(91, SPC5_ME_PCTL_RUN(1)| SPC5_ME_PCTL_LP(1)); / *配置RTC模块* / RTC.RTCC.B.CNTEN = 0; //计数器重置并停止 RTC.RTCSUPV.B.SUPV = 0; //计数器重置并停止 RTC.RTCC.B.CLKSEL = 0x01; //将SIRC(128KHZ)设置为RTC的源时钟 RTC.RTCC.B.DIV32EN = 0; //未使用32的分频时钟 RTC.RTCC.B.DIV512EN = 1; //将时钟分频为512 RTC.RTCC.B.CNTEN = 1; //计数器重置并停止 在最后一个命令之后,RTC从0开始,频率为(128khz / 512)= 250Hz 这意味着计数器将每4毫秒递增1 问候, Procolo 以上来自于谷歌翻译 以下为原文 Hi, debug is hanging when writing RTCCNT because this is a Read Only Register. A sample code for RTC could be the following: SPCSetPeripheralClockMode(91, SPC5_ME_PCTL_RUN(1) | SPC5_ME_PCTL_LP(1)); /*configure RTC module */ RTC.RTCC.B.CNTEN =0 ; //counter reset and stop RTC.RTCSUPV.B.SUPV =0 ; //counter reset and stop RTC.RTCC.B.CLKSEL = 0x01 ; //set SIRC (128KHZ) as source clock for RTC RTC.RTCC.B.DIV32EN= 0; //Divide clock for 32 is not used RTC.RTCC.B.DIV512EN = 1; //divide clock for 512 RTC.RTCC.B.CNTEN =1 ; //counter reset and stop after the last command, RTC starts from 0 with a frequency of (128khz / 512) = 250Hz that means counter will be incremented by 1 each 4 milliseconds Regards, Procolo |
|
|
|
我们需要RTC用于日历目的,是否可以配置具有实际日期的RTC;时间
以上来自于谷歌翻译 以下为原文 We need RTC for calender purpose,is it possible to configure the RTC with real date & Time |
|
|
|
嗨,
解决方案可能如下: 设置RCT,SIRC为源,32分频器。计数器将每增加1ms。 32位RTC计数器寄存器将为您提供大约1个月半的自主权。 如果需要更多,可以每秒设置一次RTC中断,每次增加一个32位变量(大约136年)。 问候, Procolo 以上来自于谷歌翻译 以下为原文 Hi, a solution could be the following: set the RCT with SIRC as source and 32 divider on. counter will increse then each 1ms. The 32bit RTC counter register will give you an autonomy of about 1 month and half. If you need more , you can set an RTC interrupt each second and increment a 32bit variable each time (about 136 years of time). Regards, Procolo |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2644 浏览 1 评论
3209 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1784 浏览 1 评论
3613 浏览 6 评论
5990 浏览 21 评论
940浏览 4评论
1317浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
585浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1304浏览 3评论
1362浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 04:00 , Processed in 1.166052 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号