Pins als Argumente übergeben

Gast #2816991
Lesenswert?

Hallo,

Ich programmiere für meine Maturarbeit einen Mikrocontroller 
(dsPIC30F14013) und benütze dafür MikroBasic. Ich habe zwei Sensoren 
(SHT75) an denselben angeschlossen.

Alles was mit den zwei Sensoren zu tun hat, ist an Port F angeschlossen.

Beide Sensoren sind an die gleichen Stromversorgungspins angeschlossen 
(GND und VCC)

Die DATA bzw. CLOCK Leitungen sind wie folgt angeschlossen:

SDA_sensor1 as sbit at RF2_bit               ' Serial data pin sensor 1
SCL_sensor1 as sbit at RF3_bit               ' Serial clock pin sensor 1
SDA_sensor2 as sbit at RF4_bit               ' Serial data pin sensor 2
SCL_sensor2 as sbit at RF5_bit               ' Serial clock pin sensor 2

Nun habe ich in meinem Programmcode gewisse Methoden (keine Ahnung ob 
das der richtige Ausdruck dafür ist), welche mit den Sensoren 
kommunizieren. So z.B die Transmission_Start():

sub procedure Transmission_Start()
  SDA_Direction = 1                     ' define SDA as input
  SCL = 1                               ' SCL high
  delay_1ms()                           ' 1ms delay
  SDA_Direction = 0                     ' define SDA as output
  SDA = 0                               ' SDA low
  delay_1ms()                           ' 1ms delay
  SCL = 0                               ' SCL low
  delay_1ms()                           ' 1ms delay
  SCL = 1                               ' SCL high
  delay_1ms()                           ' 1ms delay
  SDA_Direction = 1                     ' define SDA as input
  delay_1ms()                           ' 1ms delay
  SCL = 0                               ' SCL low
end sub

Um Verdoppelungen zu vermeiden, habe ich hier einfach einen Pin SDA und 
SCL. Kann ich dieser (Methode) übergeben, welcher Pin jeweils SDA bzw. 
SCL ist? Gibt es eine bessere Lösung?

Vielen Dank schon im Vorraus

Jonker

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren