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

Antwort per Email an