Jan schrieb:
> Hallo Leute
>
> Ich habe ein kleines Problem bei meinem Programm.
> Ich habe zwei Programmteile eins in der uart.c und uart.h und eins in
> der mainwindow.c und mainwindow.h.
Uart.c, uart.h? Habe ich nicht gesehen... ;-)
> Ich habe eine struct in der mainwindow.h definiert mit dem ich die Daten
> anzeigen lasse.
> Die Uart.c empfängt nun die Daten vom RS232 Anschluss und soll ihn in
> dieselbe Struct schreiben.
Schlechte Idee. Wieso sollte der Code für die serielle Schnittstelle
irgendwas von der (vielleicht garnicht vorhandenen) Anzeige wissen?
> wie definier ich die struct denn jetzt nun,
> dass ich sie in der uart.c und in der mainwindow.c benutzen kann ?
In einem dritten *.h - aber wie gesagt, ganz schlechte Idee.
Besser ist es so: von der seriellen Schnittstelle bekommst Du ein Array
von Bytes (genauer gesagt Octets). In mainwindow.c pflückst Du dann die
Bytes auseinander (unter Beachtung Little, Big, Sonstige Endian,
Representation von Gleitkommazahlen, Representation von Integern, etc.
pp.) und stopfst die in Dein struct. Danach kannst Du mit dem struct
fröhlich weiterarbeiten.
Weil: Serielle Schnittstelle weiss dann nix von irgendeiner Anzeige, und
Du behandelst den Fall dass Endianness oder Datenrepresentation an den
beiden Enden der seriellen Leitung verschieden sind - was nicht so
selten vorkommt.