浪里白条 发表于 2014-4-21 20:32:20

小弟用KE02Z16VLC2开发项目,但RTC死活跑不动,求救(已解决)

本帖最后由 浪里白条 于 2014-4-21 23:38 编辑

用PE添加了一个RTC_LDD模块进来,然后初始化
RTC_TDeviceData = RTC1_Init((LDD_TUserData *)NULL, FALSE);

在event.c里的这个函数里加了一个闪灯的代码,但是死活进不了这个函数
void RTC1_OnSecond(LDD_TUserData *UserDataPtr)
{
/* Write your code here ... */
       GPIO1_SetFieldValue(GPIO1_TDeviceData,D1_Green,0);
}

在main.c里增加了变量进来观察RTC的时间
Time.Hour = 10;
Time.Minute = 20;
Time.Second =30;
Time.Day = 15;
Time.Month = 11;
Time.Year = 2012;
RTC1_SetTime(RTC_TDeviceData, &Time);
for(;;)
{
          RTC1_GetTime(RTC_TDeviceData, &Time);
}

在DEBUG里观察变量,一直都不变,如图:


但RTC这个寄存器在变化,如图:


请问如何才能解决这个问题。
-------------------------------------------------------------------------------
问题原因已找到,这里中断被误关,enable后解决。

FSL_TICS_Robin 发表于 2014-4-22 09:02:53

恭喜楼主问题解决了{:biggrin:}
像这类 RTC_LDD的使用,参照PE典型应用中的例子设置一般不会有问题。
如果完全按照Typical Usage例子操作还出错,可以上网搜索该LDD是否存在bug(当然这类情况是少数,一般都会在版本更新时被修复)。

浪里白条 发表于 2014-4-22 09:37:42

FSL_TICS_Robin 发表于 2014-4-22 09:02
恭喜楼主问题解决了
像这类 RTC_LDD的使用,参照PE典型应用中的例子设置一般不会有问题。
如果 ...

谢谢你的回复,不过又遇到问题了,同样的配置UART0死活发不出数来,但是UART1就可以发出数来。
AS1是UART0,AS2是UART1。
/* Initial UART */
GsmUart_TDeviceData = AS1_Init(NULL);
Rs485Uart_TDeviceData = AS2_Init(NULL);

//AT_Command(StringCommandAT);
Error = AS1_SendBlock(GsmUart_TDeviceData,CMGI,sizeof(CMGI));
Error = AS2_SendBlock(Rs485Uart_TDeviceData,CMGI,sizeof(CMGI));

FSL_TICS_Robin 发表于 2014-4-22 10:00:37

浪里白条 发表于 2014-4-22 09:37
谢谢你的回复,不过又遇到问题了,同样的配置UART0死活发不出数来,但是UART1就可以发出数来。
AS1是UART ...

你应该把UART0的配置截图发出来,否则信息太少就只能猜啦。

浪里白条 发表于 2014-4-22 10:04:43

FSL_TICS_Robin 发表于 2014-4-22 10:00
你应该把UART0的配置截图发出来,否则信息太少就只能猜啦。



UART0我配置的是PTA2和PTA3端口 示波器抓不到TX的波形,TX口一直是低电平
但是当我把UART0配置成PTB0和PTB1口时,用示波器可以抓到TX的波形

FSL_TICS_Robin 发表于 2014-4-22 10:14:01

浪里白条 发表于 2014-4-22 10:04
UART0我配置的是PTA2和PTA3端口 示波器抓不到TX的波形,TX口一直是低电平
但是当我把UART0配置成PTB0和 ...

从参考手册“Table 10-1. Pin availability by package pin-count (continued)”表格中可以看到你配置的PTA3、PTA2这两引脚在表格下方注释:引脚带开漏功能(4. This is a true open-drain pin when operated as output.)
应该是这个特殊点引起的。

FSL_TICS_Robin 发表于 2014-4-22 10:24:10

你可以在参考手册的“11.3 Internal pullup enable”章节看到相关描述提到了内部上拉默认未开启在某些情况下(其中就包括你的外设串口功能这类情况),需要你去配置PORT_PUE(L/H)寄存器。

页: [1]
查看完整版本: 小弟用KE02Z16VLC2开发项目,但RTC死活跑不动,求救(已解决)