Ich kämpfe hier seit Tagen mit einem Problem, das ich mir nicht erklären kann:
Ich möchte 4 Temperatursensoren abfragen, die Werte mit TTY auf einem LCD darstellen. Es bleibt aber immer Window 1 , manchmal auch Window 3 leer. Ich frage momentan, um den Fehler einzugrenzen, erst mal nur einen Sensor ab: temp1 = ONEWIRE_GET(10494b290208005b); WAIT(1); itoa_fixedpoint(temp1, 1, temp1_str); itoa_fixedpoint(temp1, 1, temp2_str); itoa_fixedpoint(temp1, 1, temp3_str); itoa_fixedpoint(temp1, 1, temp4_str); Füge ich jetzt testweise nach dem WAIT(1); temp1 = 30; ein, funktioniert es, natürlich nur mit dem Testwert 3,0C Eigentlich müsste es doch so funktionieren ? Grüße Klaus Hier noch zum Verständniss das ganze Programm, vielleicht habe ich ja auch woanders einen Fehler : int16_t temp1=0; int16_t temp2=0; int16_t temp3=0; int16_t temp4=0; char temp1_str[5]; char temp2_str[5]; char temp3_str[5]; char temp4_str[5]; CONTROL_START THREAD(1wirelog) temp1 = ONEWIRE_GET(10494b290208005b); dnl temp2 = ONEWIRE_GET(10c918290208006a); dnl temp3 = ONEWIRE_GET(10bb9229020800ea); dnl temp4 = ONEWIRE_GET(10773029020800b8); WAIT(1); temp1 = 30; itoa_fixedpoint(temp1, 1, temp1_str); itoa_fixedpoint(temp1, 1, temp2_str); itoa_fixedpoint(temp1, 1, temp3_str); itoa_fixedpoint(temp1, 1, temp4_str); WAIT(1); TTY_SELECT(Window1) TTY_HOME() TTY_WRITE(`"%5sA"', temp1_str) TTY_SELECT(Window2) TTY_HOME() TTY_WRITE(`"%5sB"', temp2_str) TTY_SELECT(Window3) TTY_HOME() TTY_WRITE(`"%5sC"', temp3_str) TTY_SELECT(Window4) TTY_HOME() TTY_WRITE(`"%5sD"', temp4_str) WAIT(1); THREAD_END(1wirelog) ON STARTUP DO dnl Initialize Display TTY_CLEAR() TTY_HOME() TTY_CREATE_WINDOW(Window1, 1, 6, 0, 0) TTY_CREATE_WINDOW(Window2, 1, 6, 0, 10) TTY_CREATE_WINDOW(Window3, 1, 6, 2, 0) TTY_CREATE_WINDOW(Window4, 1, 6, 2, 10) TTY_CREATE_WINDOW(Window5, 1, 6, 2, 0) THREAD_START(1wirelog) END CONTROL_END
_______________________________________________ Ethersex-devel mailing list Ethersex-devel@list.zerties.org https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel