eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › MCU - przerwania
Ilość wypowiedzi w tym wątku: 5

  • 1. Data: 2022-04-26 00:35:12
    Temat: MCU - przerwania
    Od: Stachu Chebel <s...@g...com>

    Zakupiłem borda FRDM-KL46Z i powoli oswajam się ze środowiskiem
    projektowym Kinetis Design Studio. Na początek mruganie LED'em w
    w przerwaniu i już problemy. Krok po kroku:
    1) Tworzę nowy projekt "Processor Expert", wybieram MCU i takie tam..
    2) Z biblioteki komponentów wybieram TimerInt i BitIO.
    3) Dla komponentu BitIO ustawiam właściwość "output" i przypisuję
    odpowiedni pin.
    4) Dla komponentu TimerInt ustawiam we właściwościach:
    - Periodic interrupt source : PIT_LDVAL0
    - Counter : PIT_CVAL0
    - Interrupt period : 10Hz (Możliwe 0.0048Hz .. 20.971MHz)
    5) Program obsługi przerwania wygląda tak:
    void TI1_OnInterrupt(void)
    {
    /* Write your code here ... */
    Bit1_NegVal();
    }
    Kompiluję, programuję flash'a, wszystko jest OK. Mruga!! Teraz ustawiam
    Interrupt period na 100kHz, na oscyloskopie jest zgodnie z przewidywaniami
    50kHz. Super!! Teraz ustawiam na 150kHz i cisza.. Maksymalnie mogę dać
    140kHz. Co do Pani Nędzy robię źle?


  • 2. Data: 2022-04-26 14:03:32
    Temat: Re: MCU - przerwania
    Od: Adam Górski <gorskiamalpawpkropkapl@xx>

    W dniu 26.04.2022 o 00:35, Stachu Chebel pisze:
    > Zakupiłem borda FRDM-KL46Z i powoli oswajam się ze środowiskiem
    > projektowym Kinetis Design Studio. Na początek mruganie LED'em w
    > w przerwaniu i już problemy. Krok po kroku:
    > 1) Tworzę nowy projekt "Processor Expert", wybieram MCU i takie tam..
    > 2) Z biblioteki komponentów wybieram TimerInt i BitIO.
    > 3) Dla komponentu BitIO ustawiam właściwość "output" i przypisuję
    > odpowiedni pin.
    > 4) Dla komponentu TimerInt ustawiam we właściwościach:
    > - Periodic interrupt source : PIT_LDVAL0
    > - Counter : PIT_CVAL0
    > - Interrupt period : 10Hz (Możliwe 0.0048Hz .. 20.971MHz)
    > 5) Program obsługi przerwania wygląda tak:
    > void TI1_OnInterrupt(void)
    > {
    > /* Write your code here ... */
    > Bit1_NegVal();
    > }
    > Kompiluję, programuję flash'a, wszystko jest OK. Mruga!! Teraz ustawiam
    > Interrupt period na 100kHz, na oscyloskopie jest zgodnie z przewidywaniami
    > 50kHz. Super!! Teraz ustawiam na 150kHz i cisza.. Maksymalnie mogę dać
    > 140kHz. Co do Pani Nędzy robię źle?

    A z jakim zegarem kod się wykonuje ?

    Pozdrawiam

    Adam Górski


  • 3. Data: 2022-04-26 18:48:54
    Temat: Re: MCU - przerwania
    Od: Stachu Chebel <s...@g...com>

    wtorek, 26 kwietnia 2022 o 14:03:35 UTC+2 Adam Górski napisał(a):
    > W dniu 26.04.2022 o 00:35, Stachu Chebel pisze:
    > > Zakupiłem borda FRDM-KL46Z i powoli oswajam się ze środowiskiem
    > > projektowym Kinetis Design Studio. Na początek mruganie LED'em w
    > > w przerwaniu i już problemy. Krok po kroku:
    > > 1) Tworzę nowy projekt "Processor Expert", wybieram MCU i takie tam..
    > > 2) Z biblioteki komponentów wybieram TimerInt i BitIO.
    > > 3) Dla komponentu BitIO ustawiam właściwość "output" i przypisuję
    > > odpowiedni pin.
    > > 4) Dla komponentu TimerInt ustawiam we właściwościach:
    > > - Periodic interrupt source : PIT_LDVAL0
    > > - Counter : PIT_CVAL0
    > > - Interrupt period : 10Hz (Możliwe 0.0048Hz .. 20.971MHz)
    > > 5) Program obsługi przerwania wygląda tak:
    > > void TI1_OnInterrupt(void)
    > > {
    > > /* Write your code here ... */
    > > Bit1_NegVal();
    > > }
    > > Kompiluję, programuję flash'a, wszystko jest OK. Mruga!! Teraz ustawiam
    > > Interrupt period na 100kHz, na oscyloskopie jest zgodnie z przewidywaniami
    > > 50kHz. Super!! Teraz ustawiam na 150kHz i cisza.. Maksymalnie mogę dać
    > > 140kHz. Co do Pani Nędzy robię źle?
    > A z jakim zegarem kod się wykonuje ?
    >
    > Pozdrawiam
    >
    > Adam Górski
    A żebym ja to wiedział.. Na schemacie jest oscylator 8MHz. Jak natomiast ustawić
    częstotliwość taktowania
    CPU tego też nie wiem. W którym miejscu KDS można to ustawić lub odczytać aktualną
    częstotliwość?


  • 4. Data: 2022-04-26 19:01:00
    Temat: Re: MCU - przerwania
    Od: "Grzegorz Niemirowski" <g...@g...net>

    Stachu Chebel <s...@g...com> napisał(a):
    > A żebym ja to wiedział.. Na schemacie jest oscylator 8MHz. Jak natomiast
    > ustawić częstotliwość taktowania CPU tego też nie wiem. W którym miejscu
    > KDS można to ustawić lub odczytać aktualną częstotliwość?

    Skoro nie wiesz, to pewnie nie ma mnożnika i jest te 8 MHz. Funkcja
    Bit1_NegVal() jest dosyć powolna, zjada jakieś 55 cykli procesora. Wychodzi
    160 kHz jako maksymalna częstotliwość migania. A jeszcze narzut samego
    przerwania i mamy okolice Twoich 140 kHz. Co robisz źle? Wybrałeś sobie
    powolną funkcję do obsługi pinu, jednocześnie nie ustawiając wyższego
    taktowania.
    Do poczytania
    https://mcuoneclipse.com/2014/06/14/frdm-k64f-atmaxi
    mum-speed-of-120-mhz/

    --
    Grzegorz Niemirowski
    https://www.grzegorz.net/


  • 5. Data: 2022-04-27 02:34:21
    Temat: Re: MCU - przerwania
    Od: Stachu Chebel <s...@g...com>

    wtorek, 26 kwietnia 2022 o 19:01:01 UTC+2 Grzegorz Niemirowski napisał(a):
    > Stachu Chebel <s...@g...com> napisał(a):
    > > A żebym ja to wiedział.. Na schemacie jest oscylator 8MHz. Jak natomiast
    > > ustawić częstotliwość taktowania CPU tego też nie wiem. W którym miejscu
    > > KDS można to ustawić lub odczytać aktualną częstotliwość?
    > Skoro nie wiesz, to pewnie nie ma mnożnika i jest te 8 MHz. Funkcja
    > Bit1_NegVal() jest dosyć powolna, zjada jakieś 55 cykli procesora. Wychodzi
    > 160 kHz jako maksymalna częstotliwość migania. A jeszcze narzut samego
    > przerwania i mamy okolice Twoich 140 kHz. Co robisz źle? Wybrałeś sobie
    > powolną funkcję do obsługi pinu, jednocześnie nie ustawiając wyższego
    > taktowania.
    > Do poczytania
    > https://mcuoneclipse.com/2014/06/14/frdm-k64f-atmaxi
    mum-speed-of-120-mhz/
    >
    > --
    > Grzegorz Niemirowski
    > https://www.grzegorz.net/
    Dzięki serdeczne za link. Dużo wyjaśnia choć nie dokładnie ten MCU. Pod mojego borda
    znalazłem to:
    https://community.element14.com/products/devtools/ki
    netiskl2freedomboard/w/documents/16986/frdm-kl46z---
    pe---cw-tutorial-make-it-blink-in-just-5min
    Co prawda inne środowisko projektowe (CodeWarrior), ale też mam. Im starsza wersja,
    tym lepsza. Szkoda, że też pod
    Eclipse (nazwa adekwatna do produktu).

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: