Witam.
Od dwóch dni walczę ze zrobieniem czytniak rfid. Przeczytałem notkę em4095 i jak dobrze zrozumiałem,w trybie do odczytu (to mnie interesuje) sygnał SHD odpowiada czy układ ma być w trybie uśpienia czy nie (dałem na 0, aby cały czas pracował), sygnał MOD zwieramy do masy (ja dałem zero), RDY/CLK ma dwa zadania - podaje nam sygnał kiedy ktoś zbliżył kartę do czytnika a potem daje nam sygnał zegarowy synchronizujący nas podawanymi danymi. demod który podaje nam już sygnał z danymi
to moja inicjalizacja:
Najpierw chciałem sprawdzić czy poda mi sygnał mówiący o pojawieniu się karty w obrębie czytnika. Więc ustawiłem przerwanie. Jeżeli pojawi się sygnał RDY to na wyświetlaczu miało się pojawić "Odczytuje kartę"
No i na początku mam już problem bo nie ma karty w pobliżu a on mi pokazuje "odczytuje kartę".
I teraz jak podłącze do wyjścia DEMOD lub RDY w em4095 do przerwania to mam tak samo (tylko jak odłącze przewód to nie ma przerwania)
moja funkcja main
ktoś mógłby mnie naprowadzić co robię źle? Może o czymś zapomniałem...?
Od dwóch dni walczę ze zrobieniem czytniak rfid. Przeczytałem notkę em4095 i jak dobrze zrozumiałem,w trybie do odczytu (to mnie interesuje) sygnał SHD odpowiada czy układ ma być w trybie uśpienia czy nie (dałem na 0, aby cały czas pracował), sygnał MOD zwieramy do masy (ja dałem zero), RDY/CLK ma dwa zadania - podaje nam sygnał kiedy ktoś zbliżył kartę do czytnika a potem daje nam sygnał zegarowy synchronizujący nas podawanymi danymi. demod który podaje nam już sygnał z danymi
to moja inicjalizacja:
// Krok 1: Inicjalizacja portow mikrokontrolera jako wejscie
RFID_DDR &= ~ (1<<DEMOD); // DEMOD jako wejscie (tutaj odczytuje przerwanie)
RFID_DDR |= (1<<SHD | 1<<MOD); // SHD i MOD wyjscia
RFID_PORT &= ~ (1<<SHD | 1<< MOD); // zero na tych pinach
// Krok 3: inicjalizacja przerwania
MCUCR |= 1<<ISC10; //przerwanie wyzwalane każdą zmianą
GICR |= 1<<INT1;//0x80; //aktywne INT
// Krok 4: wlaczenie przerwania
sei();Najpierw chciałem sprawdzić czy poda mi sygnał mówiący o pojawieniu się karty w obrębie czytnika. Więc ustawiłem przerwanie. Jeżeli pojawi się sygnał RDY to na wyświetlaczu miało się pojawić "Odczytuje kartę"
No i na początku mam już problem bo nie ma karty w pobliżu a on mi pokazuje "odczytuje kartę".
I teraz jak podłącze do wyjścia DEMOD lub RDY w em4095 do przerwania to mam tak samo (tylko jak odłącze przewód to nie ma przerwania)
moja funkcja main
int main(void){
LCD_Initalize();
LCD_Clear();
LCD_Home();
LCD_GoTo(0,0);
LCD_WriteText("Przybliz karte");
RFIDinit(); // inicjalizacja rfid
while(1){ // funkcja główna
}
return 0;
}
SIGNAL (SIG_INTERRUPT1)
{
LCD_GoTo(0,1);
LCD_WriteText("Odczytuje karte");
}
ktoś mógłby mnie naprowadzić co robię źle? Może o czymś zapomniałem...?