Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

odczyt DTMF

ramzes191
-
-
Posty:16
Rejestracja:25 kwie 2007, o 06:40
Lokalizacja:zielona góra
odczyt DTMF

Postautor: ramzes191 » 27 sie 2007, o 22:34

Właśnie opanowałem odczyt z wyjść Q1-Q4 dekodera DTMF(MT8870)

unsigned int ton;
char bufor[12];

SIGNAL (SIG_INTERRUPT0)
{
ton=(PINB&0x0F);
if(ton>9) // wszystkie kody powyżej 9 zamieniane są na 0
ton=0;
itoa(ton,bufor,10);
write_text(bufor);
}

Chcialbym jeszcze zrobic opdcje blokowania numerow moze tutaj ktos bedzie mial jakis dobry pomysl. Ma to byc cos takiego:

//numery zabronione to 0700...

if ((tab [0]=='0') && (tab[1]=='7') && (tab[2]=='0') && (tab[3]=='0'))
{
write_command(0xA8);
write_text("Num zabroniony");
}
else
{
write_command(0xA8);
write_text(" Polaczenie");

Tylko teraz jak to dodalem (oczywiscie zamiast "tab" dalem "bufor" to po jednym znaku wypisuje "polaczenie" lub jak wcisne 0 to "num zabroniony". Z wyswietlaniem jest latwo bo przesuwa sie kursor i wypisuje cyfre co przerwanie ale co zrobic zeby porownac cala tablice i wtedy zablokowac nr 0700? Mt8870 dziala w sposob ze co wcisnieta cyfra w tel, to na STD pojawia sie jedynka, co uruchamia przerwanie INTO.

Wróć do „AVR/AVR32”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości