Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Patity Bit (9tes bit) nur lesen können Kategorie: Verschiedenes (von P_ST - 16.02.2012 15:06)
Als Antwort auf Re: Patity Bit (9tes bit) nur lesen können von PeterS - 15.02.2012 16:32
Ich nutze:
C-Control Pro Mega128
> > Hallo Forum
> >
> > Würde gerne über die serielle Schnittstelle ein 8-Datenbit Protokol einlesen bei welchem ein logisch=1
> > des Parity-Bit jeweils das "Startbyte" signalisiert. Gefolgt von einer variablen Anzahl von "Datenbytes"
> > signalisiert mit Parity Bit=>logisch=0. (Sonst ist alles "normal", Startbit=>logisch=0, Stopbit=>logisch=1)
> > Sprich ich möchte das Parity Bit nur lesen um bestimmen zu können wann ich ein "Startbyte" rein-
> > kriege und wann ein "Datenbyte", sonst nichts.  
> >
> > Bin über folgende Zeile von "PeterS" zu einem anderen Thema im Forum gestolpert die mir da Hoffnung
> > machen aber da jetzt in den Registern des Prozessors rumzuspielen schaffe ich (wenn überhaupt) nur
> > mit Hilfe (mein letzter Assemblercode war am Z-80 :-)))   )
> >
> > Zitat PeterS
> > >>....Du kannst aber über DirAcc_Write() das UCSRB Register schreiben, und dort den 9-Bit
> > >>Mode setzen. Für den Fall wo das 9. Bit immer Null ist, wie Du es wahrscheinlich brauchst,
> > >>sollte das gehen....
> >
> > Meine Fragen sind also:
> > - Sieht irgendjemand eine Möglichkeit das hinzukriegen bzw hat es schon jemand hingekriegt?
> > - Kennt sich jemand auf Assembler Ebene bzw. UART-Ebene so gut aus mir hier weiterzuhelfen?
> > - Ist es überhaupt möglich mit dieser Hardware?
> >
> > Vielen Dank auf jeden Fall für eure Zeit und Hilfe
> > Peter
>
> Sorry, aber der Ringbuffer ist auf 8-Bit ausgelegt, so daÃ? wenn Daten im Interrupt
> hereinkommen, auch nur die acht Bits Platz haben.
>
> Gruss Peter

Vielen Dank für deine Antwort Peter! Dann wird das über die serielle Schnittstelle also nichts.

Dann mu� ich das wohl anders lösen. Nur mal so ein erster spontaner Gedanke:
Was hältst du davon einen digitalen Input zu verwenden und selbst zu maskieren?
Sind die Dinger schnell genug für 4800 baud?
Stelle mir das so vor bei jedem empfangenen Startbit einen Interrupt auszulösen der die Synchronisierung
sicherstellt indem Er das Byte zu Ende liest, in einen Buffer schreibt und wieder in meine
Endlosschleife zurückspringt. ... und beim nächsen Startbit das selbe Spiel.
Hab ich hier einen Denkfehler oder könnte das so gehen?

Schöne Grü�e
(auch) Peter    



    Antwort schreiben


Antworten:

Re: Patity Bit (9tes bit) nur lesen können (von PeterS - 17.02.2012 11:45)