Jag kör bara ints nu.Icecap skrev:Start med att göra en testcase.
* Slaven svarar på fråga med ett värde som t.ex. räknas upp med 1 för varje gång den frågas. Kan ju börja på något lämpligt värde i närheten av 255, t.ex. 250. Att ha ett kommando för "nollställ räknaren" känns bra, då kan den komma om man laddar in ny version program i mastern.
* Mastern frågar och hämtar svaren och du jämför med vad det borde vara.
Men min gissning är den vanliga: du skickar bytes hit och dit - utan att ha koll på vad du egentligen sänder och utan att ha koll på hur du ska ta emot värden.
Det är väl floats igen - eller försöker du sända en int?
Jag vet att ett tal mellan 0 och 255 är en byte på ASCII 8-bits tabellen. available() returnerar ett tal som talar om hur stor bufferten är. Maximala är 64 bytes. Men jag vill bara ha 1 byte i min buffert, dvs ett tal. Därför om master skickar för snabbt , dvs available() visar mer än 1 bytes, så flushar slaven och inväntar ett nytt värde från mastern. Nu har jag en sekunds mellanrum mellan varje sändning och nu är jag nöjd

Min gissning är att du tror jag inte gör något och bara testar mig fram utan att ens "forska" i ämnet. Ja, delvis rätt, men hälften fel.
Jag har lärt mig lite grann.