Doch noch eine weitere Frage, wenn auch nahe an "Off-Topic":
Funktionen wie folgende werde ich nun eine ganze Reihe haben (je nach
dem viele Register in ansprechen möchte). Mir fällt leider nicht ein,
wie ich das Ganze noch ein wenig EINDAMPFEN/VEREINFACHEN könnte.
Werkzeuge wie "##" kann ich in Echtzeit nun mal nicht nutzen.
1 | volatile unsigned char *SerialGetCurrUCSRA()
|
2 | {
|
3 | switch (Serial->CurrChannel){
|
4 | case 1:
|
5 | return &UCSR1A;
|
6 | default:
|
7 | return &UCSR0A;
|
8 | }
|
9 | }
|
10 | volatile unsigned char *SerialGetCurrUCSRB()
|
11 | {
|
12 | switch (Serial->CurrChannel){
|
13 | case 1:
|
14 | return &UCSR1B;
|
15 | default:
|
16 | return &UCSR0B;
|
17 | }
|
18 | }
|
19 | volatile unsigned char *SerialGetCurrUCSRC()
|
20 | {
|
21 | switch (Serial->CurrChannel){
|
22 | case 1:
|
23 | return &UCSR1C;
|
24 | default:
|
25 | return &UCSR0C;
|
26 | }
|
27 | }
|
28 | ...
|