serielle schnittstelle 10 bit

Gast #76064
Lesenswert?
• ▲
▼
hallo zusammen!

ich habe ein kleineres problem mit einem 4433 und dem gcc. ich habe
vor, die 10-bit werte eines internen analog-digital-wandlers über die
serielle schnittstelle zu übertragen. derzeit sende ich im 8-bit modus,
und schneide den rest des messwerts einfach ab, um nicht 2 packete
senden zu müssen! (UART_SendByte((ADCW>>2)); -jaja. ich weiß. sehr ugly
g)

hat jemand ne idee, wie ich die schnittstelle dazu bewegen kann,
10-bit-werte an einem stück zu übertragen?

danke schon mal im vorraus!
Gast #76065
Lesenswert?
• ▲
▼
Hi

garnicht. 9 Bit wären möglich aber nur bei µC zu µC Kommunikation. PC
seitig ist das 9 Bit immer das Parity Bit. Mag sein das man trotz einem
Parity Fehler an die Daten kommt und so auch 9 Bit übertragen kann. Ist
aber IMHO den Aufwand nicht wert. Warum nicht einfach zwei Byte
senden?

Matthias
Gast #76070
Lesenswert?
• ▲
▼
Du kannst 4 Werte in 5 Byte aufteilen.
4 mal die obersten 8 bit und im 5. Byte die niedrigen bits.

Du mußt auf der PC-Seite halt darauf achten, daß du den Anfang wieder
findest. (event. 6. Byte als Markierung)

mfg
werner
Gast #76073
Lesenswert?
• ▲
▼
hallo zusammen

erst mal danke für die vielen antworten! ich hab's jetzt so gemacht,
dass ich vor der datenübertragung übertrage, was ich will, dann werden
maximal 4 channels gesendet, und dann ein byte mit den 2bit
reststücken...

jetzt taucht hier aber ein kleines anderes problem auf:

    UART_SendByte((swap>>2));

durch den code schneidet er zwar schön ab, füllt dann von hinten her
alles mit einsern bis zur ersten eins auf. ich bekomme dann so sprünge
wie:
    193 11000001
    195 11000011
die 194 11000010 unterschlägt er hier einfach! (das macht er
systematisch so. die nächste zahl ist dann (11000111) = 199)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.