Chciałbym zliczać impulsy z sensorów: opadów deszczu i prędkości wiatru. Mikrokontroler jaki wybrałem to ATmega328P + kwarc 11059200
W moich urządzeniach jest kontaktron i według producenta połączenie powinno wyglądać tak:
Kod który "zmajstrowałem" wygląda tak: $regfile = "m328pdef.dat" $crystal = 11059200 $baud = 19200 Config Timer0 = Timer , Prescale = 1024 , Compare A = Disconnect , Compare B = Disconnect , Clear Timer = 1 Enable Compare0a : On Compare0a Int_10ms Nosave : Compare0a = 107 '10ms @11MHz 107 Dim 10ms As Byte , 100ms As Byte , 1s As Byte Dim Deszcz_licznik As Byte , Wiatr_licznik As Byte Dim Deszcz_ilosc As Byte , Wiatr_predkosc As Byte Config Portd.2 = Input : Portd.2 = 1 : Wiatr_sensor Alias Pind.2 Config Portd.3 = Input : Portd.3 = 1 : Deszcz_sensor Alias Pind.3 Config Int0 = Falling Enable Int0 : On Int0 Deszcz Nosave Config Int1 = Falling Enable Int1 : On Int1 Wiatr Nosave Deszcz_licznik = 0 Wiatr_licznik = 0 Enable Interrupts Print "START" Do If 10ms = 1 Then 10ms = 0 Incr 100ms End If If 100ms = 100 Then 100ms = 0 Incr 1s End If If 1s = 60 Then 1s = 0 Deszcz_ilosc = Deszcz_licznik Deszcz_licznik = 0 Wiatr_predkosc = Wiatr_licznik Wiatr_licznik = 0 Print Deszcz_ilosc ; " " ; Wiatr_predkosc End If Loop End Int_10ms: $asm PUSH R24 !in R24, sreg PUSH R24 $end Asm 10ms = 1 'Tuned with NoSave Tool $asm POP R24 !out sreg, r24 POP R24 $end Asm Return Deszcz: If Deszcz_sensor = 1 Then Incr Deszcz_licznik End If Return Wiatr: If Wiatr_sensor = 1 Then Incr Wiatr_licznik End If Return Prawdę mówiąc to nawet nie mam pojęcia od czego zacząć.
Będę wdzięczny za pomoc
