"com2" und "com3" sehe ich hier nicht.... - aber zu der Frage allgemein weiss bestimmt das Bascom-Handbuch Rat....
Ja klar weis die Bascom hilfe rat. und zwar sagt sie jedesmal das gleiche Ne die Frage war ja, was bedeutet die Zahl hinter "com". Sind die Zahlen fest U(S)ART schnittstellen zugeordnet, sprich wenn nur eine da ist MUSS man nur COM1 verwenden?
Das Ucsra.fe ist das Bit im USART-Statusregister für "Frame Error" - so wird ja der Anfang eines Datenblocks gekennzeichnet, indem ein längerer Break kommt, der eben einen Frame-Error erzeugt.... das wird hier ausgewertet
Hm... cool, genau das was ich wollte. Hab schon ne weile nach dem begriff gegooglet, doch nix gefunden,
EDIT: hab gerade nochmal im daten blatt geguckt und doch was gefunden: The USART Receiver has three Error Flags: Frame Error (FE), Data OverRun (DOR)
and Parity Error (PE). All can be accessed by reading UCSRA.
für was steht dieses dicke Ucsra.fe, muss ja ein feste befehl in bascom sein
Nein! - das ist *kein* Befehl/Anweisung - die *Anweisung* ist "If (...) then", die
Zitatkennst Du doch, oder....? Die *Bedingung* dazu ist dann "Ucsra.fe = 1", also das nach dem then wird ausgeführt, wenn Ucsra.fe gleich eins ist... so wie halt immer bei ner "if then"-Anweisung...
Das hab ich mir fast gedacht, kenne dann doch schon wie man EIN und Ausgänge setzt und wie ne If anweisung funktioniert.
Des weiteren, man spricht ja immer von man muss einem gerät eine Addresse zuweisen. Schön. Rein vorm logischen her muss es ja das bestimmte Datenbyte sein, sprich Addresse 5 ist das 5. Gesendetste Datenbyte. Das dann von einem gerät weiter verarbeitet wird, oder? ( sprich Buffer(5) )
ZitatJa, bei dieser Routine hier exakt richtig - die empfängt immer stur alle 512 Byte (oder wie viele halt gesendet werden), Du kannst es Dir dann hinterher aussuchen, welche Du nimmst - braucht halt dann immer 512 Byte RAM, auch wenn Dich nur 3 Kanäle wirklich interessieren.... kleiner Vorteil: Du kannst z.B. bei nem 12-Kanal Dimmer jedem Dimmer-Kanal einen eigenen DMX-Kanal zuweisen, falls das warumauchimmer nötig sein sollte....
Andere Routinen (z.B. die von mir verwendete) machen das anders, die zählen erst die Bytes runter, die vorbeirauschen sollen, und fangen erst bei der Startadresse an, in's RAM zu schreiben - also wenn Du bei meinem DMX-Receiver z.B. Adresse 17 einstellst, werden die ersten 16 Byte ignoriert, und dann nur die nächsten 5 in's Ram geschrieben, der Puffer ist also nur 5 Byte groß statt 512 (würde auf nem Tiny2313 auch gar nicht gehen....)
Nunja hört sich gut an. DOch da ich eh fast immer nen ATmega verwende werde ich erstmal keine probleme mit dem Ram haben