MCU - przerwania

Apr 25, 2022 4 Replies

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?

W dniu 26.04.2022 o 00:35, Stachu Chebel pisze:

A z jakim zegarem kod się wykonuje ?

Pozdrawiam

Adam Górski

wtorek, 26 kwietnia 2022 o 14:03:35 UTC+2 Adam Górski 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ść?

Stachu Chebel snipped-for-privacy@gmail.com napisał(a):

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
formatting link

wtorek, 26 kwietnia 2022 o 19:01:01 UTC+2 Grzegorz Niemirowski napisał(a):

znalazłem to:

formatting link
prawda inne środowisko projektowe (CodeWarrior), ale też mam. Im starsza wersja, tym lepsza. Szkoda, że też pod Eclipse (nazwa adekwatna do produktu).

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required