Forum: Compiler & IDEs UART-Library von Peter Fleury für 2 UARTs verwenden


von Beninho (Gast)


Lesenswert?

Hallo,

als blutiger C-Anfänger fällt es mir etwas schwer, die Lib von Peter 
Fleury zu verstehen. Ich verwende einen ATMega162, wegen der 2 USARTs 
und würde gerne auch den 2.UART mithilfe der Lib ansprechen. Weiß einer 
von Euch, ob und wie das möglich ist? Im Online-Manual steht dazu leider 
nichts.

Dank und Grüße aus München,
Ben

von Karl H. (kbuchegg)


Lesenswert?

Beninho wrote:
> Hallo,
>
> als blutiger C-Anfänger fällt es mir etwas schwer, die Lib von Peter
> Fleury zu verstehen. Ich verwende einen ATMega162, wegen der 2 USARTs
> und würde gerne auch den 2.UART mithilfe der Lib ansprechen. Weiß einer
> von Euch, ob und wie das möglich ist? Im Online-Manual steht dazu leider
> nichts.
>

Soweit ich weiss, ist der Code nur für eine UART ausgelegt.

Du könntest aber ganz einfach den Code duplizieren und für
die Verwendung auf UART Nummer 2 anpassen. Sollte relativ einfach
möglich sein, da sich die beiden UARTs ja logisch gleich verhalten
und nur die Register und Bitnamen anders sind.

Also Datenblatt zum Prozessor raus, ein Testprogramm schreiben,
welche die UART benutzt und im UART Code (einer Kopie vom Original)
mal alles umbenennen was nach UART0 riecht. Anschliessend die
Funktionen umbenennen, so dass UART1 einen eigenen Satz von Funktionen
hat und dann sollte es gehen.

Im Endeffekt hast du dann 2 UART Libraries, eine für UART0 und
eine für UART1. Je nachdem welche UART du verwenden willst, bindest
du dann entweder die eine oder die andere oder überhaupt beide ein.

von Beninho (Gast)


Lesenswert?

Habe trotz miserabelster C-Kenntnisse gerade rausgefunden, wie es 
funktioniert. Einfacher gehts nicht mehr:

statt uart einfach uart1 verwenden:
also z.B. statt
uart_putc ( (unsigned char)c );  einfach
uart1_putc( (unsigned char)c );  verwenden.

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.