-
-
Neuer Benutzer
Öfters hier
Hallo,
ich hab noch ein bischen getestet und man kann jetzt einen Port über den Bus wunderbar schalten:
'Sensor
$regfile = "attiny2313.dat"
$crystal = 3579545
$baud = 4800
Portb = &B11111111
Config Portd = Output
Config Debounce = 100
Set Portb.1
Do
Debounce Pinb.1 , 0 , Schalter , Sub
Loop
Schalter:
Portd.2 = 1
Waitms 10
Print "111"
Waitms 10
Portd.2 = 0
'Waitms 10
Return
End
'Aktor
$regfile = "attiny2313.dat"
$crystal = 3579545
$baud = 4800
Config Portb = Output
Dim Empfangen As String * 3
On Urxc Onrxd
Enable Urxc
Enable Interrupts
Portd.2 = 0
Do
If Len(empfangen) > 2 Then 'wenn mehr als 2 Zeichen empfangen
'If Empfangen = "111" Then
Waitms 200
Toggle Portb.1
Empfangen = "" 'löschen
'End if
End If
Loop
End
Onrxd:
Empfangen = Empfangen + Chr(udr)
Return
Ein gewisses Problem scheint es trotzdem noch zu geben, ich würde gerne statt If Len(empfangen) > 2 Then (also mehr als 2 Zeichen empfangen) lieber 'If Empfangen = "111" Then verwenden, aber der Wert von Empfangen scheint nicht gleich zu sein obwohl so gesendet.
Möglicherweise ein Formatproblem das evt. von ASCII auf String gewandelt werden muß ?
Was ich auch noch vermute das die Zeichen nicht sauber gesendet wird, der Sendepuffer beim Sensor noch irgendwelchen Schrott mitsendet ?
Wie kann man den Sendepuffer löschen bevor ich meine Zeichen übertrage ?
Mfg, Jürgen
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen