Marion schrieb:> Liefert nicht die Anzahl erwünschter ','. Es wird lediglich 1 ','> gesendet
glaube ich nicht.
Bei mir geht es. Die Zwischenvariable hilft übrigens beim Debuggen, dann
sieht man was wer sendet.
Beachten sollte man, das WriteLine() selbst noch ein NewLine-Zeichen
anhängt.
Beim Senden von Zeichenketten statt Bytes kann es generell nicht
schaden, SerialPort.Encoding und SerialPort.NewLine besser auf
gewünschte Werte zu setzen.
Marion schrieb:> Sendet laut dem Ausgabefenster "1,0,0,255". Die Werte passen soweit,> jedoch bekomme ich vom AVR die Antwort
setzte mal noch wie schon von bluppdidupp geschrieben das Encoding auf
ASCII.
Marion schrieb:> Beim AVR kommt einfach kein 2. ',' an.
dann lass doch den AVR einfach mal zurückschicken, was er bekommt. Es
müsste ja schon das erste Zeichen reichen was er nicht erkannt hat.
Hmmm,
das Problem hab ich scheinbar an der falschen Stelle gesucht. Wieso es
aber mit Putty geht, ist mir ein Rätsel.
Ich habe im Programm ein delay_ms(10). Davor wird ein WS2812 Strip
beschrieben (80Leds). Nehme ich beide Teile raus, funktioniert es auch
mit dem Visual C#.
Was kann ich da ggf. machen mit der UART Schnittstelle? Interruptbetrieb
ist nicht möglich, da die Leds das blockieren.
Stefan S. schrieb:> Was kann ich da ggf. machen mit der UART Schnittstelle? Interruptbetrieb> ist nicht möglich, da die Leds das blockieren.
dann zeig mal das komplette Programm. Niemand weiß was hinter
uart_available und uart_getc steckt.
> Wieso es aber mit Putty geht, ist mir ein Rätsel.
vermutlich weil du viel langsamer tippst als C# sendet.
Stefan S. schrieb:> Interruptbetrieb ist nicht möglich, da die Leds das blockieren.
Verstehe ich nicht.
Den String im C# Code zeichenweise mit Pausen senden (und hoffen, dass
der UART-Puffer nicht die Zeichen sammelt), dann hat der µC auch genug
Zeit.