Mittlerweile habe ich es so halbwegs verstanden (denke ich).
Jetzt setze ich einen Pin für 15 us auf high um dann die Ultraschallmessung mit dem hc-sr04 Modul zu starten.
Meine Idee wäre nun, dass ich am PCF eine Pegeländerung vom Echosignal sehen müsste, dass ich mir über RS232 schicke. Leider tut sich nichts?!
Hat diesbezüglich jemand einen Ansatz?
$regfile = "m32def.dat" ' oder bei Mega16 $regfile = "m16def.dat"
Const Writeeingabeport_adr = &H7E 'I2C Adr PCF 2
Const Readeingabeport_adr = &H7F 'I2C Adr PCF 2
Dim I2cdaten As Byte
Dim I2cdaten2 As Byte 'Datenbyte aus PCF8574
Dim B1 As Byte
Dim I As Byte
$baud = 9600
$crystal = 8000000 'Quarzfrequenz
Config Scl = Portc.0 'Ports fuer IIC-Bus
Config Sda = Portc.1
Portd.6 = 0 'Schrittmotoren erst mal ausschalten
I2cinit
'******** Diese 4 Befehle sind nur ab RNBFRA Version 1.2 (nicht in V 1.1)
' notwendig und bzw. möglich (erweiterte Energiesparfunktion und LED´s)
' Bei Board 1.1 bitte auskommentieren oder löschen
I2cstart
I2cwbyte &H74 'Schreibbefehl an PCF3 schicken
' Led´s ein ,Motorendstufen ein, Port-Peripherie ein, RBN-Bus Sleep Modus aus (also Peripherie aktiv)
I2cwbyte &B00000010 'Datenbyte an PCF3
I2cstop
'*********
I = 0
I2cdaten = 1
Do
I2cstart
I2cwbyte Writeeingabeport_adr
I2cwbyte &B00000000
I2cstop
Waitus 15
I2cstart
I2cwbyte Writeeingabeport_adr
I2cwbyte &B00001000 'äußerer Pin ist 4.
I2cstop
Waitus 15
I2cstart
I2cwbyte Writeeingabeport_adr
I2cwbyte &B00000000
I2cstop
Dim A As Byte
For A = 1 To 100
I2cstart
I2cwbyte Readeingabeport_adr 'Lesebefehl an PCF schicken
I2crbyte I2cdaten , Nack 'Datenbyte von PCF lesen
I2cstop
Print I ; " Eingangsport Wert" ; I2cdaten
Waitus 100
Incr I
Next A
Waitms 1000
Loop
End
Lesezeichen