Hallo!
Ich hab grad die Nuss vor mir, mit drei Sensoren zu reden.
Also alle drei die gleichen, kein Problem.
Hab auch schon funktionen geschrieben um mit denen zu reden.
Funktioniert auch alles schön.
Also im Grunde genommen so, dass ich sage:
1 | #define D LATAbits.LATA0
|
2 | #define SCK LATAbits.LATA1
|
Also Präprozessor damit ich im .h File meine Pins nur einmal schreiben
muss. Nur hab ich jetzt 3 Sensoren und will eigentlich nicht jede
Funktion drei mal schreiben/kopieren müssen. Finde ich braucht mehr
Platz und ist nicht schön!
Deswegen hab ich gedacht, wärs toll wenn ich nur mit D und SCK arbeite
aber eben während des Programm der Funktion eben meine zwei Pins
übergebe mit denen ich grad was tun will - also welcher Sensor.
Und ich mein ich könnt nen Parameter "Sensor_ID" mitgeben der von 1-3
reicht und dann mit if-Abfragen weiter gehen aber im grunde genommen ist
das auch drei mal die Funktion schreiben.
dann hab ich halt:
1 | void funkion(sruct sensordaten sensor, int sensor_id)
|
2 | {
|
3 | if(sensor_id == 1)
|
4 | {
|
5 | .... arbeite mit Pins D1 und SCK1
|
6 | }
|
7 | if(sensor_id == 2)
|
8 | {
|
9 | das selbe wie oben nur steht statt D1 D2 und statt SCK1 SCK2
|
10 | }
|
11 | .... 3. Sensor
|
12 |
|
13 | }
|
Also im grunde genommen wieder drei mal selbe Funktion.
ich hätt halt gern so was in der art wie:
1 | void funktion(struct sensordaten sensor, PORT D, PORT SCK)
|
2 | {
|
3 | .... nur einmal mit D und SCK arbeiten
|
4 | }
|
geht das irgendwie???
Aja arbeite mit PIC18F2550!!!!