Hallo,
ich versuche den Sensor auszulesen, aber es kommt einfach keine Rückmeldung.
Die erste Zeile in der ISR habe ich nur temporär eingefügt,
um mitzubekommen, ob sie überhaupt mal ausgelöst wird. Leider tut sich
überhaupt nichts.
Das Programm habe ich von dieser Seite:
bascomavr.3bb.ru/viewtopic.php?id=2130&p=2
Das ist der Sensor:
winsen-sensor.com/sensors/co2-sensor/mh-z19b.html
Hat jemand eine Idee, mir fällt nicht mehr ein?
Gruß Ralf
Alles anzeigen
ich versuche den Sensor auszulesen, aber es kommt einfach keine Rückmeldung.
Die erste Zeile in der ISR habe ich nur temporär eingefügt,
um mitzubekommen, ob sie überhaupt mal ausgelöst wird. Leider tut sich
überhaupt nichts.
Das Programm habe ich von dieser Seite:
bascomavr.3bb.ru/viewtopic.php?id=2130&p=2
Das ist der Sensor:
winsen-sensor.com/sensors/co2-sensor/mh-z19b.html
Hat jemand eine Idee, mir fällt nicht mehr ein?
Gruß Ralf
BASCOM-Quellcode
- $regfile = "m2560def.dat" ' specify the used micro
- $crystal = 16000000 ' used crystal frequency
- $baud = 9600
- $hwstack = 64 ' default use 32 for the hardware stack
- $swstack = 20 ' default use 10 for the SW stack
- $framesize = 80 ' default use 40 for the frame space
- Config Lcdpin = Pin , Db4 = Portg.5 , Db5 = Porte.3 , Db6 = Porth.3 , Db7 = Porth.4 , E = Porth.6 , Rs = Porth.5
- Config Lcd = 16 * 2 'configure lcd screen
- Cls
- Cursor Off
- Config Com1 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
- Config Portd.0 = Input
- Dim B As Byte
- Dim Rxtm As Byte
- Dim Rx(18) As Byte
- Dim Ppm As Word
- Dim Wr As Word
- Open "com1:" For Binary As #1
- On Urxc Rx485
- Enable Urxc
- Enable Interrupts
- Do
- Printbin #1 , &HFF ; &H01 ; &H86 ; &H00 ; &H00 ; &H00 ; &H00 ; &H00 ; &H79
- Locate 1 , 1 : Lcd Ppm
- Wait 100
- Loop
- Rx485:
- Locate 2 , 1 : Lcd "test"
- B = Inkey(#1)
- Incr Rxtm
- Rx(rxtm) = B
- If Rxtm = 1 And B <> &HFF Then
- Rxtm = 0
- Ppm = 555
- Elseif Rxtm = 9 Then
- Wr = Rx(3) * 256
- Ppm = Wr + Rx(4)
- Rxtm = 0
- End If
- Return
- End