Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Stm32F4][C] Timer 2 i enkoder.

nasiono 05 Lip 2012 19:15 1349 3
  • #1 05 Lip 2012 19:15
    nasiono
    Poziom 17  

    Witam.
    Mam standardowy enkoder dwa kanały A,B przesunięte o 90st.
    Próbuje skonfigurować timer 2 do pracy z tym enkoderem jednak licznik ani drgnie. Próbowałem skonfigurować na różne sposoby i w końcu nie wiem czy coś jest fizycznie uszkodzone czy po prostu źle skonfigurowałem rejestry. Oto mój program:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 3
  • Pomocny post
    #2 05 Lip 2012 19:26
    mrh
    Poziom 18  

    Ja mam to tak skonfigurowane:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #3 05 Lip 2012 20:55
    nasiono
    Poziom 17  

    Dzięki. Niestety kod nie działa tak jak i tamte licznik cały czas 0.
    Jako odczyt stosuje w pętli while

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Enkoder pochodzi z drukarki zasilam go z 3V bezpośrednio podłączony do wyprowadzeń.

    Dodano po 49 [minuty]:

    Dziwne port E sie uszkodził piny PE0,1 nie funkcjonują teraz sprawdzam na pinach PE2,4 programowo mogę sprawdzać stan na nich niestety przerwania od tych pinów nie działają. Na innych pinach np PA1 przerwania działają. Ciekawe jest to że jak sprawdzam
    if(!( GPIOE->IDR & GPIO_Pin_4 ))

    przy pinie podciągniętym

    RCC->AHB1ENR |= RCC_AHB1ENR_GPIOEEN;
    GPIOA->PUPDR |= (GPIO_PUPDR_PUPDR4_0 );
    wystarczy palcem dotknąć a program wykrywa go jako normalne naciśnięcie klawisza coś jest chyba nie tak.

    I teraz nie wiem czy płytka sie posypała , program zły czy enkoder.

    0
  • #4 06 Lip 2012 13:09
    nasiono
    Poziom 17  

    Wygląda na to że sie uszkodził port E na innych wszystko działa. Stm32 to delikatne procesory, trzeba uważać z prądami na wejściach wyjściach. Atmele to czołgi przy nich. Temat zamykam

    0
  Szukaj w 5mln produktów