ATMEL/Arduino-USART und exotische Framelängen

Gast #3360528
Lesenswert?
• ▲
▼
> kann ich einen Arduino Due USART irgendwie dazu überreden, was längeres
> als 8 Bit zu übertragen? Ich denke da an so 20 Bits ohne Start/Stoppbit
> etc.
Es gibt Controller, bei denen man Start-/Stopbits weglassen kann, der 
AVR gehört soweit ich weiss nicht dazu. Unterstützte Framelängen eines 
UARTs sind 5-8 Datenbits, 20 Datenbits geht somit schon gar nicht.
Das liegt einfach daran, dass für die früheren Anwendungen der 
UART-Schnittstelle nicht mehr gebraucht wurden.

> Oder brauche ich für solche Hacks unbedingt einen SPI?
Entweder das, oder wenn die Übertragungsrate nicht übertrieben hoch ist, 
dann einen Timer-Interrupt und Bitbanging. Je nachdem geht's 
beispielsweise auch mit PCA, aber ohne genau zu wissen was du vorhast 
wird's schwierig eine Empfehlung zu geben.

Ralf
Gast #3360533
Lesenswert?
• ▲
▼
Ralf schrieb:
> Entweder das, oder wenn die Übertragungsrate nicht übertrieben hoch ist,
> dann einen Timer-Interrupt und Bitbanging. Je nachdem geht's
> beispielsweise auch mit PCA, aber ohne genau zu wissen was du vorhast
> wird's schwierig eine Empfehlung zu geben.

Hm, das wären 1 Bit je 500 nsec bzw. die 20 Bit im 100 kHz-Takt - also 
eher arg schnell...und zu schnell für den Arduino Due.

Danke für das Feedback!
Gast #3360551
Lesenswert?
• ▲
▼
2 MHz für die Bits plus 4 MHz Takt (ein Puls pro Bit) plus ein Sync am 
Frameanfang, das ganze mal drei (weil drei Ausgänge benötigt werden) 
plus der restliche Krimskrams an Datenverwaltung (USB-Stack, Daten 
Senden/Empfangen) - ich glaube schon, dass das knapp werden könnte...
Gast #3360560
Lesenswert?
• ▲
▼
Man kann mehrere Pins gleichzeitig schalten sofern sie in einem Port 
liegen, mit ein bisschen manuellem loop-unrolling und assembler-codieren 
kriegt man das vermutlich locker hin. Von einem USB-Stack war bisher 
nicht die Rede. Ralf's Post ist übrigens hinfällig da das kein AVR ist. 
Dir bleibt wohl nichts übrig als ins Datenblatt des Controllers zu 
schauen und nachzusehen was der UART kann.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.