Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 14 lut 2025, o 20:49


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 8 lut 2013, o 22:30 
Offline
Nowy

Dołączył(a): 02 lut 2013
Posty: 21
Pomógł: 0

Cały projekt działał na 8MHz oscylator wewnętrzny. Coś mnie podkusiło i przełączyłem taktowanie na 16MHz zewnętrzny kwarc (podłączony jest oczywiście).

We właściwościach projektu zmieniłem taktowanie, zrobiłem clean project, przebildowałem ponownie, załadowałem do AVR.
I nie działa, wszystkie delaye trwają 2x dłużej, 1wire się rozleciała - pewnie z powodu delayów.

Fusy zrobione MkAVRCalkulatorem - zapisane dobrze, bo się czytają prawidłowe wartości przy Sprawdź podł. AVR.

Co dziwne, gdy przebilduje projekt na 8Mhz, a fusy w procku ustawione są na 16MHz działa poprawnie i gdy są na 8 też działa poprawnie.


O, sssoo tu chooozzzzi?

Piotr



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lut 2013, o 23:59 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 291
Lokalizacja: okolice Opola
Pomógł: 20

Może wgraj na początek prosty program migający diodą co 1s, projekt skompiluj pod 8MHz, potem się baw fusami, ustaw 8MHz, czas powinien być dobry (1 sekunda) potem przestaw na 16MHz (ale przy tym samym wgranym programie), i jeśli dioda będzie migać 2 razy szybciej, to znaczy, że projekt się dobrze kompiluje.
Następnie skompiluj pod 16MHz i zrób to samo z fusami - pod 16 powinien migać normalnie - pod 8, 2x wolniej

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2013, o 00:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27359
Lokalizacja: Szczecin
Pomógł: 1042

A ja zadam jedno pytanie....

nie masz przypadkiem w kodzie zdefiniowanego

#define F_CPU xxxxxxxx

czyli tego co staram się zwalczać z uporem maniaka u początkujących ? - bo właśnie to może np powodować u ciebie takie efekty

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2013, o 01:03 
Offline
Nowy

Dołączył(a): 02 lut 2013
Posty: 21
Pomógł: 0

Nie mam nic zdefiniowanego na sztywno. Dlatego leciutko zgłupiałem. Jak w Bascomie bawiłem się przełączaniem częstotliwości było OK.
Dla testów pierwsze instrukcje programu były takie:
lcd_str("aaaqqqqqqq");
_delay_ms(1000);
lcd_cls();
Potem reszta programu, a w nim dosyć rozbudowane menu, 4xPWM sprzętowe, RTC na I2C, 2xDS1840, klawisze

I teraz efekty:
1. Kompilacja 8MHz, fusy wewn osc 8MHz - wszystko OK.
2. Kompilacja 16MHz, fusy zewn. 16MHz - _delay_ms(1000) - 2sekundy;
3. Kompilacja 8MHz, fusy 16MHz - wszystko OK
4. Kompilacja 16MHz, fusy 8Mhz - delay - 2sekundy.

Oczywiście w pkt 2 i 4. klawisze działają wolno i 1wire nie czyta DSów. Pozostałe rzeczy chodzą OK bo przerwania nie są na TIMERACH tylko zewnętrzne z RTC. TIMERY robią za PWM.

Dziwne jest, że działa w pkt. 3. Nie mam niestety oscyloskopu ani nic innego aby sprawdzić częstotliwości np. PWM czy są większe niż w pkt. 1.

Gdzieś mam błąd, tylko gdzie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2013, o 01:35 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27359
Lokalizacja: Szczecin
Pomógł: 1042

czyli co we właściwościach projektu też ustawiłeś 16MHz ?

Fusebity też przestawiłeś na zewn kwarc > 8MHz ?

wydaje mi się że pominąłeś w takim razie jedną z tych czynności.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2013, o 01:37 
Offline
Użytkownik

Dołączył(a): 26 lip 2012
Posty: 291
Lokalizacja: okolice Opola
Pomógł: 20

Więc na 99.99999% nie przestawiają ci się fusebity/masz zły kwarc.
Może zrób jeszcze raz ten sam test ale używając wewnętrznego generatora z częstotliwościami 4/8MHz, to pozwoli jednoznacznie określic co jest winne fusy/kwarc/kompilacja.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2013, o 15:04 
Offline
Nowy

Dołączył(a): 02 lut 2013
Posty: 21
Pomógł: 0

Historyjka obrazkowa:
Start
Obrazek

Sprawdź podłączony AVR
Obrazek

Fusy uproszczone
Obrazek

Fusy właściwości
Obrazek

Kwarc jest dobry 16MHz, program działał w Bascomie bez problemu i na 16 i na 8MHz, dopóki kod nie przekroczył 4kB ;). Gdyby nie działał kwarc, AVR po zmianie na zewnętrzny zablokowałby się.

Kompilacja programu:
1. Ustawienie właściwości projektu
Projekt->properties->AVR->Target hardware->MPU Clock Frequency
2. Czyszczenie.
Projekt->Clean
3. Kmopilacja
Młotek
4. Załadowanie do AVR
AVR ze strzałeczką

Piotr

Właśnie sobie przypomniałem, że wymieniałem cała płytkę bo nie działał na niej DS i EEPROM na I2C. Załadowałem więc program w bascomie skompilowany na 16MHz i d..a nie działa dobrze.
Poszedłem więc drogą kwarcu i wyglądało, że jest źle wlutowany, poprawiłem więc luty na kwarcu ale na razie brak sukcesów. Nie mam czym sprawdzić tego kwarcu.

Skoro zewnętrzny kwarc nie działa to dlaczego AVR ustawiony na zewn. kwarc można czytać i programować? :o

I już go mam. Jakiś jełop zamiast 16MHz wlutował do płytki 6MHz. Już piszę emaila dziękczynnego do producenta.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 11 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO