STR9 obtener minutos de una variable

0
/* Wait for the alarm flag */
while (!RTC_GetFlagStatus(RTC_FLAG_Alarm)); /* do polling or RTC alarm flag*/
RTC_GetTime(BINARY,&time);                 /*time structure must be equal to alarm time*/

lcd_clear();
lcd_print ("Alarm occured at");
set_cursor (0, 1);
sprintf(text, "time: %2dh%2dm%2ds ",time.hours,time.minutes,time.seconds);
lcd_print (text);

Hola a todos, La sección del código anterior es del ejemplo de RTC (STR9). Esta parte muestra el tiempo (horas, minutos, segundos)

¿Cómo es posible asignar los minutos (tiempo.minutos) a una variable (diga 'y')

Cuando doy

y = time.minutes;
sprintf(text, "Minutes :%04d",y);
lcd_print (text); 

No obtengo ningún valor en y. Siempre es 0.

¿Alguien sabe cómo obtener eso?

    
pregunta matt

1 respuesta

1

¿Funciona el código de ejemplo que pegó en la parte superior - la pantalla LCD muestra [h] h [m] m [s] s? Si es así, no hay una razón clara para creer, según la información limitada que ha proporcionado, que el segundo fragmento de código no debería funcionar también ...

¿Quizás intentes usar la misma cadena de formato?

y = time.minutes;
sprintf(text, "Minutes: %2d",y);
lcd_print (text); 

¿Quizás su compilador no admite la opción de formato de ceros inicial (es decir,% 0)?

Sin embargo, si tu fragmento original tampoco funciona, es muy probable que, en primer lugar, no puedas comunicarte con el RTC.

    
respondido por el vicatcu

Lea otras preguntas en las etiquetas