ich hab das problem, dass die sekunden, minuten und stunden bis zu jeder 54. sekunde und minute funktioniert, jedoch springt di anzeige bei jeder 54. sekunde auf 64 und zählt von dort bis 90. kann mir jemand sagen, an was das liegt? mein code int main(void) { unsigned char time[10]; lcd_init(LCD_DISP_ON); i2c_init(100000); //100kHz SCL for(;;){ get_time(0xD0, time); display(time); delay(200); //wait 200ms } } void get_time(unsigned char Device, unsigned char *p_time) { i2c_start(Device+I2C_WRITE); i2c_write(0x00); i2c_rep_start(Device+I2C_READ); p_time[2] = i2c_readAck(); //hours p_time[1] = i2c_readAck(); //minutes p_time[0] = i2c_readAck(); //seconds i2c_stop(); } void display (unsigned char *p_time) { unsigned char buffer[10]; lcd_clrscr(); itoa(p_time[0],buffer,10); if(p_time[0] < 10){ lcd_puts("0"); } lcd_puts(buffer); lcd_puts(":"); itoa(p_time[1],buffer,10); if(p_time[1] < 10){ lcd_puts("0"); } lcd_puts(buffer); lcd_puts(":"); itoa(p_time[2],buffer,10); if(p_time[2] < 10){ lcd_puts("0"); } lcd_puts(buffer); } vielen dank schon mal gruß, mike
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.