MCU - przerwania

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?
Reply to
Stachu Chebel
Loading thread data ...

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

A z jakim zegarem kod się wykonuje ?

Pozdrawiam

Adam Górski

Reply to
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ść?

Reply to
Stachu Chebel

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
Reply to
Grzegorz Niemirowski

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).

Reply to
Stachu Chebel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.