工具/软件:Code Composer Studio
这是一个重贴。 如果有人发现代码有问题、请告诉我。 如果有人可以在另一个 FR LaunchPad 上运行该程序、请告诉我结果。 RTC 运行正常、中断正常、甚至可以设置和复位中断、如调试器中所示。 我无法复位 RTCCNT 寄存器。 RTCCTL 的位6应复位计数、但不会复位计数。
我假设在位6保持高电平的情况下、它将保持计数器复位、直到该位被释放。 我不知道,因为我根本不能重置计数器!!
我使用的是 CCS9.3、并且从 笔记本电脑中删除了所有其他版本以及所有 TI 内容。 当我转移项目时、只有文本被转移。 这纯粹是 CCS9.3、并且总的来说、该程序比我之前的程序稳定得多。 我无法使 RTC 复位。
即使调试器执行 RTCCTL|= BIT6、也不会发生任何情况。 当单步执行 InitRTC()时,同样不会发生任何情况。 当 InitRTC()中的位0被置位时、RTCCTL 的值和中断状态一样发生变化。 但 RTCCNT 寄存器不会发生任何情况。
下面是一些代码;
空 Init_rtc ()
{
SYSCFG2|= BITA; 针对 ACLK 的/*配置 *
RTCCTL = 0b0000000001000000; //停止 RTC、ACLK、预分频器= 1、32768计数/秒 *
RTCMOD= 10000; /* 656=20ms *
}
要重置计数、
RTCCTL|= BIT6;
为了启动和停止 RTC、
define rtcSTART RTCCTL&=~BIT6、RTCCTL|= BIT1、RTCCTL|= BITC
define rtcSTOP RTCCTL&&=~BITC、RTCCTL|= BIT6、RTCCTL&&=~BIT1
请提供任何帮助。
作为侧注、我已经放弃了"~"符号来指示反转。 我犯了这么多错误、忘记输入、现在我这么做了、
define bit0 ~BIT0
define bit1 ~BIT1
define bit 2 ~BIT2
define bit 3 ~BIT3
define bit 4 ~BIT4
#define Bit5 ~BIT5
#define bit 6 ~BIT6
define bit 7 ~BIT7
define bit 8 ~BIT8
define bit 9 ~BIT9
#define BITA ~BITA
#define bitB ~BITB
#define BITC ~BITC
define bitD ~BITD
#define Bite ~Bite
#define bitF ~BITF
代码现在看起来像这样、
define rtcSTART RTCCTL&= bit6、RTCCTL|= BIT1、RTCCTL|= BITC
define rtcSTOP RTCCTL&&= BITC、RTCCTL|= BIT6、RTCCTL&&位1
它更易于编写、更易于阅读、而且不太容易遗漏。