Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Daljinsko zakljucavanje otkljucavanje
#20
@duuka97 To je definitivno C kod (kao što Miki reče, pisali ste C kod u C++).

@samuki
Jedno od pojednostavljenih rešenja samuki-jevog problema je ovaj (nisam testirao, pisano je napamet):
Može se koristiti XC8 kompajler.

Code:
#include "htc.h" // Zameniti " znakovima manje-veće #include "delay.h" #define ULAZNI_PIN_TRIS TRISB0 #define ULAZNI_PIN RB0 #define RELE_1_TRIS TRISB1 #define RELE_1_IO PORTB1 #define RELE_2_TRIS TRISB2 #define RELE_2_IO PORTB2 bit FlipFlopFlag; bit Debounce; void main(void) { RELE_1_TRIS = 0; // Podesavamo da je RELE 1 pin IZLAZNI RELE_2_TRIS = 0; // Podesavamo da je RELE 2 pin IZLAZNI ULAZNI_PIN_TRIS = 1; // Podesavamo da ulazni pin bude ulazni pin FlipFlopFlag = 0; while(1) ////////////////////// GLAVNA PETLJA PROGRAMA { DelayMs(10); // Cekamo 10mS, jer nema razloga da nam se petlja vrti suvise brzo, dobijamo neku vrstu filtra za digitalni ulaz if(ULAZNI_PIN == 0) // Ako detektuje daljinski zahtev, podrazumeva se da je aktivnno stanje na nuli, bolja imunost na smetnje { if(Debounce == 1) // Da sprecimo lazna okidanja { Debounce = 0; if(FlipFlopFlag == 1) { RELE_1_IO = 1; DelayS(1); // Sacekaj 1 sekundu } else if(FlipFlopFlag == 0) { RELE_2_IO = 1; DelayS(1); // Sacekaj 1 sekundu } RELE_1_IO = 0; // Iskljuci izlaz 1 RELE_2_IO = 0; // Iskljuci izlaz 2 FlipFlopFlag ^= 1; // ako je 1 prelazi u 0, ako je 0 prelazi u 1 i tako u krug } } else { Debounce = 1; } } }
Reply


Messages In This Thread
Daljinsko zakljucavanje otkljucavanje - by samuki - 08-02-2014, 02:04 PM
RE: Daljinsko zakljucavanje otkljucavanje - by npejcic - 08-03-2014, 05:19 PM

Forum Jump:


Users browsing this thread: 2 Guest(s)