Hola amigos, necesito comparar dos Fechas/Horas para ello estoy convirtiendo a segundos las dos para despues saber en cual han pasado mas segundos y asi compararlas, pero la función int32 _mul(int16, int16) del CCS no me pincha bien parece que solo admite en sus argumentos int16 para devolver int32, y verán que llega el momento en que necesito pasarle int32, es ese el problema????
Aqui está mi código:
#define dia 0
#define mes 1
#define anno 2
#define hora 3
#define minuto 4
#define seg 5
#define sem 6
int32 t_s;
int Dias_por_mes[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int32 Min_to_Seg(int min)
{
t_s = _mul(min, 60);
return t_s;
}
int32 Hora_to_Seg(int horaA)
{
t_s = _mul(60, Min_to_Seg(horaA));
return t_s;
}
int32 Dia_to_Seg(int diaA)
{
t_s = _mul(24, Hora_to_Seg(diaA));
return t_s;
}
int32 Mes_to_Seg(int mesA)
{
t_s = _mul(mesA, Dia_to_Seg(Dias_por_mes[mesA]));
return t_s;
}
int32 FechaHora_to_Seg(int *FH)
{
t_s = Mes_to_Seg(FH[mes]) + Dia_to_Seg(FH[dia]) + Hora_to_Seg(FH[hora]) + Min_to_Seg(FH[minuto]) + FH[seg];
return t_s;
}
mE.FechaHora y mS.FechaHora son arreglos de 7 elementos dentro de una estructura. Donde los elementos son Dias, Mes, Año, Hora, Minutos, Segundos y Semana que corresponda.
if (FechaHora_to_Seg(mE.FechaHora) <= FechaHora_to_Seg(mS.FechaHora))
Gracias de antemano y saludos.