logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[STM32L0][C / CubeMX HAL] Klawisz dotykowy - uruchomienie, oprogramowanie.

Electix 05 Paź 2015 17:26 993 2
REKLAMA
  • #1 15044450
    Electix
    Poziom 21  
    Posty: 462
    Pomógł: 46
    Ocena: 6
    Cześć,

    zwracam się Do Was z prośbą o pomoc w uruchomieniu Touch Sensor Controller (TSC) w STM32L0.

    Nie mam już pomysłu jak ugryźć temat, a po przeanalizowaniu UM od procka i UM od HAL, na dal do końca nie wiem jak odpalić funkcję pojedynczego klawisza dotykowego w tym procku.

    Co mam?

    Mam PCB z wlutowanym MCU. Do jego portów podłączone są:

    PA7 (TSC_G2_IO4) - kondensator 10n (sampling input shield)
    PA6 (TSC_G2_IO3) - elektroda na PCB(shield)
    PB1 (TSC_G3_IO3) - kondensator 10n (sampling input button)
    PA0 (TSC_G2_IO2) - elektroda na PCB (button)

    Na każdym pinie pomiędzy elektrodami a pinami MCU jest szeregowy rezystor 10k.
    Na każdym pinie pomiędzy kondensatorami samplującymi a pinami MCU jest szeregowy rezystor 10k.

    Jest to aplikacja na podstawie dostępnej dokumentacji, wzorcowana na rozwiązaniach z płytek DISCOVERY.

    Teraz strona programowa. Robię tak:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Obsługa przerwania:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    efektem tego jest naprzemiennie wartość 0 i wartość 1 w rejestrze TSC->IOGXCR[2]


    Moje pytanie brzmi:

    czy ktoś z Was już przedzierał się przez ten temat i byłby w stanie wesprzeć mnie w uruchomieniu tego peryferialu?

    Nie znalazłem nigdzie informacji w/g jakich kryteriów dobiera się pojemności do układu samplującego, rezystancje szeregowe. Potem na ich podstawie czasy które odpowiadają za transfery ładunków (potrzebne do prawidłowego dostrojenia ustawień TSC).

    Jak z tego zrobić działający klawisz?

    Ja na razie wymiękam w tym temacie i będę wdzięczny za każdą poradę która doprowadzi mnie do rozwiązania problemu.

    :)
  • REKLAMA
  • Pomocny post
    #2 15044485
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Przykład obsługi TSC z F072 był niedawno w Elektronice Praktycznej. Rozsądna pojemność kondensatora to 47n. Shield nie używałem.
  • #3 15051138
    08FEDRA
    Poziom 13  
    Posty: 110
    Pomógł: 4
    Ocena: 43
    Ja używałem i to całkiem sporego, bo o powierzchni paru metrów kwadratowych. Kondensator do shielda powinien być dobrany proporcjonalnie do powierzchni shielda w stosunku do powierzchni elektrody. Chodzi o to, żeby sygnały miały podobny przebieg. Jak dawałem większy to też działało.

    Testowałem na czymś takim (STM32F042):
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA