tag:blogger.com,1999:blog-6085382734211687437.post4865711776347165162..comments2024-03-21T08:13:48.283+01:00Comments on Mikrokontrolery Jak zacząć - zbiór najczęściej udzielanych porad: Ustawianie i zmiana częstotliwości taktowania mikrokontrolera w trakcie jego działaniaUnknownnoreply@blogger.comBlogger16125tag:blogger.com,1999:blog-6085382734211687437.post-31251558882557802252015-10-29T18:30:02.152+01:002015-10-29T18:30:02.152+01:00Pobrałem nowego Eclipsa i nowy listing wszystko ru...Pobrałem nowego Eclipsa i nowy listing wszystko ruszyło.<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-44509997390352218172015-10-28T17:57:22.197+01:002015-10-28T17:57:22.197+01:00Listing skopiowany jest poprawnie.
Kompilator jest...Listing skopiowany jest poprawnie.<br />Kompilator jest chyba OK, do tej pory wszystko kompilował poprawnie.<br />Powalczę jeszcze.<br />Dzięki za podpowiedzi.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-71067364678973203782015-10-28T16:40:18.700+01:002015-10-28T16:40:18.700+01:00Niestety nie korzystam z Eclipse, więc nie mam jak...Niestety nie korzystam z Eclipse, więc nie mam jak powtórzyć przypadku, natomiast sprawdziłem ponownie kompilację w Avr-studio 6.2 (Avr toolchain w wersji 3.4.1061) i wszystko się ładnie kompiluje.<br />Komunikat błędu sugeruje niemożność znalezienia funkcji w programie. Czy na pewno skopiował Pan cały listing? Czy nie pozmieniały się znaki w kodzie? Czy kompilator jest poprawnie skonfigurowany?<br /><br />Podobny błąd udało mi się wygenerować usuwając definicję funkcji (ostatnie linie listingu) - czy nie zapomniał ich Pan skopiować?Anonymoushttps://www.blogger.com/profile/15463698886271519928noreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-77537842369669012282015-10-28T16:14:52.636+01:002015-10-28T16:14:52.636+01:00Ten komentarz został usunięty przez autora.Anonymoushttps://www.blogger.com/profile/15463698886271519928noreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-34347517783054560392015-10-28T15:28:17.892+01:002015-10-28T15:28:17.892+01:00Ja nic nie zmieniałem w programie, który jest poka...Ja nic nie zmieniałem w programie, który jest pokazany na początku.<br /><br />void clock_prescaler_select(uint8_t division_factor) - jest Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-50863654221169928752015-10-28T13:06:00.572+01:002015-10-28T13:06:00.572+01:00Czy dał Pan przed wywołaniem deklarację funkcji? :...Czy dał Pan przed wywołaniem deklarację funkcji? :<br />void clock_prescaler_select(uint8_t division_factor);Anonymoushttps://www.blogger.com/profile/15463698886271519928noreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-40225036518028196842015-10-28T10:41:26.599+01:002015-10-28T10:41:26.599+01:00Witam.
Chciałem sprawdzić działanie w/w programu, ...Witam.<br />Chciałem sprawdzić działanie w/w programu, skopiowałem i po kompilacji mam następujący komunikat:<br />Zmiana_prescalera.c:(.text.startup.main+0x8): undefined reference to `clock_prescaler_select'<br />Zmiana_prescalera.c:(.text.startup.main+0x2a): undefined reference to `clock_prescaler_select'<br />Zmiana_prescalera.c:(.text.startup.main+0x48): undefined reference to `clock_prescaler_select'<br /><br />Dlaczego.<br />Dopisałem trzeci trzeci prescaler.<br />Eclipse Mars.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-35869216925706720722014-05-11T16:00:24.621+02:002014-05-11T16:00:24.621+02:00Ponieważ do rejestru CLKPR wpisujemy nową wartość ...Ponieważ do rejestru CLKPR wpisujemy nową wartość za pomocą operatora = a nie |=, poprzednia wartość jest nadpisywana. Więc i bit CLKPCE zostanie wyzerowany, gdyż nie jest on ustawiony w zmiennej division_factor.Anonymoushttps://www.blogger.com/profile/15463698886271519928noreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-29254473502185907742014-05-11T15:32:30.740+02:002014-05-11T15:32:30.740+02:00Witam
Czy w funkcji "clock_prescaler_select&q...Witam<br />Czy w funkcji "clock_prescaler_select" z zamieszczonego przykładu nie powinien być<br />od razu zerowany bit "CLKPCE" w rejestrze "CLKPR"Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-31395566551320998582014-01-20T00:05:52.214+01:002014-01-20T00:05:52.214+01:00Szukaj w datasheet bitu CLKPCE. Mają go:
- ATmega4...Szukaj w datasheet bitu CLKPCE. Mają go:<br />- ATmega48/88/168<br />- ATmega48A/PA/88A/PA/168A/PA/328/P<br />- ATmega16/32 ale wersja U4<br />- ATmega164P/324P/644P<br />- ATmega164P/324P/644P<br />- ATmega640/1280/1281/2560/2561<br />- ATtiny13<br />- ATtiny24/4484<br />- ATtiny25/45/85<br />- ATtiny2313<br />- itd.<br />Donduhttps://www.blogger.com/profile/00935153382439363150noreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-21672920823741434192014-01-19T23:53:57.234+01:002014-01-19T23:53:57.234+01:00Czy w procesorach takich jak Atmega 8, 16, 32 też ...Czy w procesorach takich jak Atmega 8, 16, 32 też można to zrobić?Damian Maciołhttps://www.blogger.com/profile/15777638132374127135noreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-65950962729418770262014-01-19T18:25:24.942+01:002014-01-19T18:25:24.942+01:00I znowu coś nowego się dowiedziałem - thx!I znowu coś nowego się dowiedziałem - thx!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-73521757040434931442014-01-19T16:07:36.015+01:002014-01-19T16:07:36.015+01:00Wszystkie nowsze mają taką możliwość (możesz założ...Wszystkie nowsze mają taką możliwość (możesz założyć, że te, które mają 3-cyfrowe oznaczenie mają preskaler zegara). Wiele starszych też takie możliwości posiada. Jednak, jeśli z jakiegoś powodu interesuje cię programowa zmiana częstotliwości taktowania, to o wiele lepszym wyborem z AVR jest XMEGA. Preskalery są bardziej elastyczne, jest też wiele źródeł zegara do wyboru. W zależności od potrzeb można wybierać stabilniejsze, lub cechujące się niższym poborem energii.tmfnoreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-2715547471541297572014-01-19T15:11:42.536+01:002014-01-19T15:11:42.536+01:00Czy jest gdzieś jakiś wykaz AVRów, które mają taki...Czy jest gdzieś jakiś wykaz AVRów, które mają takie możliwości?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-79418928935969509512014-01-19T14:47:45.404+01:002014-01-19T14:47:45.404+01:00Bardzo fajny artykłu, nie wiedziałem otakich możli...Bardzo fajny artykłu, nie wiedziałem otakich możliwościach. Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6085382734211687437.post-4773634432186015872014-01-19T14:46:53.951+01:002014-01-19T14:46:53.951+01:00Zawsze myślałem, że CKDIV8 blokuje możliwość zmian...Zawsze myślałem, że CKDIV8 blokuje możliwość zmiany częstotliwości mikrokontrolera na stałe - w końcu to fusebit. A tu niespodzianka.Adisnoreply@blogger.com