Design Frage: mehrere Klassen bedienen "globale" Arrays



  • Hallo miteinander

    Ich habe eine kleine Frage, wie ich ein Problem lösen kann:
    Eine Kommunikationsklasse (UART auf einem ARM Cortex-M0 ohne OS, die als "Treiber" gedacht ist) soll diverse Register lesen und schreiben können. Diese Register sind von Device zu Device unterschiedlich gross und werden in den Klassen der API als Member benötigt.

    Die Zugriffe sehen z.B so aus:

    UART-Treiber					API (verschiedene Klassen)
    	<-		Cyclic_Data_Tx		<-
    	->		Cyclic_Data_Rx		->
    	<->		KP					<->
    	<->		VMAX				<->
    	<->		Config				<->
    

    Meine bisherigen Ansätze sind:
    - Arrays in Treiber-Klasse und von der API über Pointer zugreifen (in API die Member löschen)
    - Arrays in Treiber-Klasse und von der API über Funktionen zugreifen
    - Arrays global halten und allen Klassen Pointers und Grösse der Arrays als Member angeben

    Was ist in so einem Fall der sauberste Weg?

    Besten Dank für die Hilfe
    MFG


Anmelden zum Antworten