Forum: Mikrocontroller und Digitale Elektronik Config Serialin


von Patrik (Gast)


Lesenswert?

moin,
ich habe mir einen led cube gebastelt, funktioniert alles tadellos. das 
vb programm hab ich auch schnell dazugeschrieben. soweit so gut. beide 
arbeiten mit der baudrate 4800. jetzt schicke ich meinetwegen 1000 
zeichen per pc an meinen atmega8. doch in der zeit wo dieser die daten 
verarbeitet schickt der pc schon wieder neue und die daten gehen 
verlohren.
z.b ich schicke 123456789 der mikro macht aber nur 12579 weil in die 
anderen zahlken einfach an ihm vorbeigehen, also hab ich mir gedacht ich 
nutze den buffer..
Config Serialin = Buffered , Size = 20
funktioniert tadellos, aber nur für die ersten 10 zeichen. wenn ich die 
size ändere dann auch, das ist aber irrelevant, denn ich möchte, dass 
egal wie viele zeichen kommen alle erfasst werden, dh er muss irgendwie 
alte sachen löschen. clear oder so hab ich gelesen, dann löscht man aber 
den ganzen buffer. denn wenn ich wieder was schicke nimmt er garnichts 
mehr, da der buffer voll ist, ich muss den mikro also reseten.. 
villeicht gibt es ja auch eine andere schöne möglichkeit wie ich das 
realisieren kann...
danke schon mal...
patrik

von Peter D. (peda)


Lesenswert?

Patrik wrote:

> doch in der zeit wo dieser die daten
> verarbeitet schickt der pc schon wieder neue und die daten gehen
> verlohren.

Was heißt denn "verarbeiten"?

Du mußt die Daten langsamer senden oder schneller verarbeiten.
Ein Puffer kann nur die Spitzenlast verteilen, aber nicht negative Zeit 
herzaubern.


Peter

von Patrik (Gast)


Lesenswert?

ja schneller verarbeiten geht ja nicht. denn ich lasse eine led 
aufblitzen, das dauert 5ms. in dieser zeit schickt der pc ja schon 
wieder neue daten.. wie kann der pc denn langsamer schicken... oder wie 
macht ihr das mit dem led cube .. wie programmiert ihr euren?
lg

von Peter D. (peda)


Lesenswert?

Patrik wrote:

> .. wie programmiert ihr euren?

Dazu müßte man erstmal wissen, wozu ein "led cube" gut sein soll.
Was ist dessen Aufbau und Funktion?


Wenn eine Task 5ms dauert, dann muß der PC eben nach jedem Abschicken 
einer Task 5ms warten.


Peter

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
Noch kein Account? Hier anmelden.