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.
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
Moderatorzy:Jacek Bogusz, procesorowiec, r-mik, Moderatorzy
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości