Pytanie:
Karta SIM: Wykrywana po wyjęciu karty
Randomblue
2012-07-09 23:01:07 UTC
view on stackexchange narkive permalink

Mam STM32 z czytnikiem karty SIM. Z jakiegoś powodu przerwanie kodu PIN DETECT jest wyzwalane, gdy karta SIM jest wyjęta , w przeciwieństwie do sytuacji, gdy karta SIM jest włożona .

Co może tu być nie tak?

Jak generowany jest sygnał wykrywania?
„… dlaczego nie ma innych odpowiedzi…” powinno być odczytywane jako „… ** dlaczego / jeśli ** nie ma innych odpowiedzi…”.
Dwa odpowiedzi:
stevenvh
2012-07-09 23:39:37 UTC
view on stackexchange narkive permalink

Możliwe powody, które przychodzą mi do głowy:

  • przełącznik wykrywania karty przełącza się z Vcc zamiast uziemienia, więc logika jest odwrócona, a opadająca krawędź staje się zboczem narastającym i imadłem versa.

  • kontakt odbija się, generując oba typy krawędzi. Rozwiązany z filtrem RC.

Martin Thompson
2013-12-17 17:05:08 UTC
view on stackexchange narkive permalink

Brzmi jak klasyczny problem z odwróceniem logiki.

Możliwe, że

  • Sygnał z czytnika kart ma przeciwną polaryzację do tego, czego się spodziewasz (jak również sugeruje stevenvh)
  • Mikro jest skonfigurowane tak, aby odpowiadać na przeciwną krawędź przerwań do tego, czego się spodziewasz
  • Jest (być może programowalny) falownik w mikro między pinem a logiką IRQ
  • Na mikro PCB między czytnikiem karty SIM a mikropinkiem znajduje się bufor odwracający

Pytanie nie na temat, ale czy odpowiedź jest wymagana na ten sygnał szczególnie szybko? Nie jestem pewien, czy widzę potrzebę przerwania tego zdarzenia, pomyślałbym, że wystarczy odpytanie w pętli w tle.

Użycie przerwania zamiast odpytywania do wykrywania włożenia karty SIM ma swoje zalety: można uniknąć pętli odpytywania, która bardzo rzadko dawałaby wyniki, marnując cykle przez resztę czasu. Nie jest to rzadki wymóg.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...