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



Teraz jest 12 lut 2025, o 10:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 4 lis 2012, o 12:54 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

Zachciało się staremu pojeździć na karuzeli :roll:

procesor Atmega88, podłączony układ RTC
bez karuzeli jedna dioda miga co 10 ms, druga co 1 s, jest OK!
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

z karuzelą nic nie miga i jest mi niedobrze :lol:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lis 2012, o 13:09 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

while(1); średnik kończy while() i klamry oznaczają tylko jakiś blok kodu. Zresztą wiesz o co chodzi.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lis 2012, o 13:17 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

ale jaja :oops:
jak wszystko uporządkowałem, aby wysłać na forum, to naprawiłem pewnie pozostałe błedy,
tylko został mi ten najgłupszy, dzięki



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lis 2012, o 15:00 
Offline
Moderator
Avatar użytkownika

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

A możesz mi przy okazji powiedzieć co u ciebie w kodzie robi to

#define F_CPU 8000000UL // 8 MHz

????

bo przez to też może się niedobrze zrobić ;)

pozbądź się tego jak najszybciej

_________________
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: 4 lis 2012, o 15:16 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

mirekk36 napisał(a):
#define F_CPU 8000000UL // 8 MHz
????

migało jak popadnie, wiec zacząłem wymyślać :)
a w czym to może szkodzić?

wyjaśnij mi przy okazji, dlaczego zmienne Timer1 itd nie mają wartości początkowej,
długo się zastanawiałem skąd program wie jaki czas chcę uzyskać, ale rozumiem,
że jakie by nie były to wartości to Timery schodzą do 0 i program reaguje

czy domyślnie te zmienne mają wartość 0?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lis 2012, o 15:39 
Offline
Moderator
Avatar użytkownika

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

Przez całą pierwszą książkę prawię co chwilę powtarzam, i na forach - żeby nie podawać w kodzie #define F_CPU, bo to jest BABOL, który później prowadzi do pomyłek. Może ci umknęło więc przypomnę jeszcze raz.

częstotliwość TAKTOWANIA - USTAWIAMY TYLKO I WYŁĄCZNIE we właściwościach projektu (jeśli robisz to w ECLIPSE albo innym normalnym środowisku. Masz tam przecież pole do ustawienia tego prawda ?) .... Chyba że się upierasz na kocie AVR STudio - to ok upieraj się ale wtedy też sobie zapamiętaj, że tak się tego również nie robi chociaż w tym środowisku nie ma już miejsca na wpisanie taktowania jak to było kiedyś w AVR Studio 4.xx. Za to jest dostęp do opcji kompilatora i trzeba się tam za każdym razem dogrzebać gdy chcesz to zmienić i ustawić parametr -DF_CPU xxxxx

chodzi o to - że dzięki temu - zostaje F_CPU ustawione na poziomie pliku MAKEFILE a to z kolei daje ci to , że F_CPU jest WIDOCZNE w KAŻDYM, podkreślam KAŻDYM pliku projektu. Więc nie trzeba tego wklepywać ręcznie. Ale nie chodzi tylko o wygodę. Sam pomyśl sobie co będzie jak projekt ci się rozbuduje i będziesz miał wiele plików - a w każdym gdzie akurat będziesz potrzebował F_CPU będziesz to definiował ??? ok no dobra - definiuj - ale jak ci przyjdzie zmienić taktowanie - to już widzę jak się ucieszysz że teraz w 40 plikowym projekcie będziesz musiał skrupulatnie szukać miejsc gdzie miałeś podaną starą wartość taktowania w tych #decine F_CPU

a nie wspomnę już o kłopotach z _delya_ms() ...... eeeeeh - normalnie syzyfowa ta moja praca z tym przypominaniem o tym - ale co się dziwić jak 90% poradników w necie powiela ten chory błąd :( ..... zamiast wytłumaczyć co i jak ....

--------------

Jak to Timer1 i podobne nie mają wartości początkowej ? ;) ..... eeeeeh zapominamy, zapominamy .... a nie pamięta kolega jednej prostej zasady - że WSZYSTKIE zmienne globalne inicjalizowane są domyślnie ZEREM ??? więc jak mogą nie mieć wartości początkowej? ;)

_________________
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: 4 lis 2012, o 15:53 
Offline
Użytkownik

Dołączył(a): 14 maja 2012
Posty: 518
Pomógł: 6

mirekk36 napisał(a):
...... eeeeeh - normalnie syzyfowa ta moja praca z tym przypominaniem


no tak, współczuję Ci ;)
"Jak mówi powiedzenie obyś cudze dzieci uczył, daje ono wyraźnie informacje że praca nauczyciela jest ciężkim kawałkiem chleba." ;)

dzięki, tak to jest jak człowiek chce sie nauczyć wszystkiego naraz :roll:



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 5 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