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



Teraz jest 28 mar 2024, o 14:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 
Autor Wiadomość
 Tytuł: Multiplex LED
PostNapisane: 1 cze 2012, o 20:21 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

Witam
Mam pytanie
Napisałem według książki cały program do obsługi led ale jak zobaczyłem, główny program z płyty dvd to złapałem się za głowę a mianowicie nie wiem co robi na płycie:


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Bo w książce nie ma otym zmianki.
trochę wariuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 20:31 
Offline
Moderator
Avatar użytkownika

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

Ale to jest tylko jakiś tam przykład - nie mający tak na prawdę nic wspólnego z multipleksowaniem poza tym że w jakiś prosty sposób rozbija liczbę 4 cyfrową na poszczególne cyfry i każdą z osobna wyświetla na oddzielnym wyświetlaczu z tych 4 na których jest multipleksowanie

a przy okazji jest pokazane jak bez kłopotu można sobie zamienić czysto matematycznie że tak powiem liczbę na poszczególne znaki

zrób sobie odstępy pomiędzy tymi liniami i przeanalizuj to dokładnie - to na prawdę nie jest trudne - ale jak czegoś nie zrozumiesz - to pytaj oczywiście


Autor postu otrzymał pochwałę

_________________
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: 1 cze 2012, o 20:40 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

Dzieki kolego jestem już troche stary na to ale dam rade :)
Wystraszyłem się, że coś przeoczyłem. jutro będę to uruchamiał jak będę miał problemy to napisze
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 20:44 
Offline
Moderator
Avatar użytkownika

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

wronski napisał(a):
Dzieki kolego jestem już troche stary na to ale dam rade :)
Wystraszyłem się, że coś przeoczyłem. jutro będę to uruchamiał jak będę miał problemy to napisze
Pozdrawiam


Nie martw się ja też jestem stary i jakoś daję radę więc i ty dasz - a już razem = NA PEWNO ;) więc jak coś to pisz śmiało - zawsze chętnie pomogę.

_________________
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: 1 cze 2012, o 21:42 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

zacząłem przerabiać ten program pod procesor Atmega644P i w czasie kompilacji pojawił mi się problem:

Error 2 multiple definition of `main' C:\Users\Patryk\Documents\Atmel Studio\GccApplication3\GccApplication3\Debug/.././main.c 18 1 Main.c

i podświetla mi:

d_led_init(); // inicjalizacja wyświetlacza multipleksowanego


Oraz ostrzeżenie:

Warning 1 'TIMER0_COMP_vect' appears to be a misspelled signal handler [enabled by default] C:\Users\Patryk\Documents\Atmel Studio\GccApplication3\GccApplication3\d_led.c 58 1 Main.c

podświtla:
ISR(TIMER0_COMP_vect)


jesli chodzi o przerawania to ustawiłem:
// ustawienie TIMER0
TCCR0B |= (1<<WGM02); // tryb CTC
TCCR0B |= (1<<CS02)|(1<<CS00); // preskaler = 1024
OCR0B = 39; // dodatkowy podział przez 39 (rej. przepełnienia)
TIMSK0 |= (1<<OCIE0A); // zezwolenie na przerwanie CompareMatch
}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 21:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

Kolego tu masz link było już na forum opisane. post4881.html?hilit=multipleksowanie#p4881
Jednak spróbuj sam sobie to przeanalizować krok po kroku nie jest to wcale trudne.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 21:55 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

to już przeanalizowałem i rozumiem tylko mam problem z przerobieniem go na procesor atmega644P (posiadam tylko taki procesor w domu)

-- dodano 1 cze 2012, o 23:06 --

Nadmienię, że program pisze w avrstudio6 bo exlipse strasznie mi wolno chodzi i dalem sobie spokój.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 22:11 
Offline
Moderator
Avatar użytkownika

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

No podświetla:

TIMER0_COMP_vect

bo nie ma takiego wektora przerwania dla ATmega644

jak sprawdzać sobie wektory przerwań - jakie występują dla danego procka ?

proszę - można np przeczytać to:

http://mirekk36.blogspot.com/2012/03/ec ... nazwy.html

_________________
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: 1 cze 2012, o 22:12 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

dzieki za pomoc a jakiś pomysł jak sprawdzić to pod avrstudio6 i co z tym wielokrotnym użyciem funkcji?

-- dodano 1 cze 2012, o 23:14 --

Jutro poszukam podpowiedzi w eklipse (jak sie uruchomi) i dam znac czy sie udało.
Pozdrawiam i dziękuję za pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 22:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

ECLIPSE nie ma jakiś wielkich wymagań sprzętowych.
Jakie parametry ma kolega w PC że ECLIPSE wolno ,,chodźi"??



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 23:02 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 72
Lokalizacja: Gdańsk
Pomógł: 2

wronski napisał(a):
zacząłem przerabiać ten program pod procesor Atmega644P i w czasie kompilacji pojawił mi się problem:

Error 2 multiple definition of `main' C:\Users\Patryk\Documents\Atmel Studio\GccApplication3\GccApplication3\Debug/.././main.c 18 1 Main.c

i podświetla mi:

d_led_init(); // inicjalizacja wyświetlacza multipleksowanego


Oraz ostrzeżenie:

Warning 1 'TIMER0_COMP_vect' appears to be a misspelled signal handler [enabled by default] C:\Users\Patryk\Documents\Atmel Studio\GccApplication3\GccApplication3\d_led.c 58 1 Main.c

podświtla:
ISR(TIMER0_COMP_vect)


jesli chodzi o przerawania to ustawiłem:
// ustawienie TIMER0
TCCR0B |= (1<<WGM02); // tryb CTC
TCCR0B |= (1<<CS02)|(1<<CS00); // preskaler = 1024
OCR0B = 39; // dodatkowy podział przez 39 (rej. przepełnienia)
TIMSK0 |= (1<<OCIE0A); // zezwolenie na przerwanie CompareMatch
}

Witam serdecznie (pierwszy post).
Też napotkałem te same blędy podczas kompilacji. Ja mam zestaw ATB z procesorem aatmega644p, więc z takim samym jak pan.

Ja ustawiłem rejestry sterujące timera troche inaczej:
TCCR0A |= (1<<WGM01);
TCCR0B |= (1<<CS02) | (1<<CS00);
OCR0A = 39;
TIMSK0 |= (1<<OCIE0A);
Drogą dedukcji, tak odczytałem z noty katalogowej.

Co do wektora przerwań, to według instrukcji pana Mirka (wideo), to w tym pliku nie ma szukanych danych (plik iom644p.h). Natomiast zajrzałem do pliku iom64.h (przypuszcza, że wiele się nie różnią obydwa kontrolery) i tam można odnależć pożądany wektor. Wektor jaki trzeba użyć, to TIMER0_COMPA_vect, bo jest to podwójny timer i trzeba wskazać z którego dokłanie ma pochodzić przerwanie.

Jeżeli chodzi o błąd wielokrotnej definicji, to u mnie wynikało z tego, że tablice 'cyfra' umiesciłem w pliku nagłówkowym d_led.h, a nie w d_led.c. Tu się przyznaje bez bicia, że nie rozumiem jakie kawałki kodu umieszczać w pliku nagłókowym, a jakie nie. Jeszcze tego nie ogarniam:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 23:26 
Offline
Moderator
Avatar użytkownika

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

Bardzo dobra dedukcja ;) a odnośnie plików c i h to jeszcze raz:

c - tylko kod programu czyli definicje funkcji i zmiennych

h - tylko deklaracje funkcji i zmiennych

tak w dużym uproszczeniu ale chyba jaśniej hmmm?

Dlatego taki nacisk kładłem żeby każdy dobrze nauczył się co to deklaracja a co to definicja ;)

_________________
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: 2 cze 2012, o 09:12 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

Tablice od samego początku mam w d_led.c i pojawia mi sie ten błąd, (nawed jak robię z plikami oryginalnymi czyli z płyty)

Jeśli chodzi o TIMER0_COMPA to poszlo
dzieki



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 cze 2012, o 11:52 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

Dalej mam błąd z wielokrotnością funkcji nawet na plikach z płyty dvd



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 cze 2012, o 13:27 
Offline
Moderator
Avatar użytkownika

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

wronski napisał(a):
Dalej mam błąd z wielokrotnością funkcji nawet na plikach z płyty dvd


Panowie, jak się zadaje pytanie to jednak wypada napisać jakie są konkretne błędy itd....

po to jest na dole okienko CONSOLE w którym się wyświetlają wszystkie błędy i warningi podczas kompilacji.

Sorki, ale na tak zadanie pytania nie jestem i nie będę w stanie pomóc.

_________________
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: 3 cze 2012, o 14:49 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

Witam pisałem już wcześniej

Error 2 multiple definition of `main' C:\Users\Patryk\Documents\Atmel Studio\GccApplication3\GccApplication3\Debug/.././main.c 18 1 Main.c

i podświetla mi:

d_led_init(); // inicjalizacja wyświetlacza multipleksowanego

Nawed jak otworze i będę chciał skąpilować oryginalną wersje z płyty to też ten błąd się pojawia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 cze 2012, o 15:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

No to jak widzisz masz ładnie napisane --- zbyt wiele definicji

posprawdzaj czy czasem nie masz coś namotane .... dlaczego kompilujesz dla debug ??

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 cze 2012, o 16:31 
Offline
Moderator
Avatar użytkownika

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

Moim zdaniem projekt jest źle zaimportowany albo przepisany do AVR Studio i stąd te problemy. Pokazywałem na lekcjach VIDEO jak importować projekty ale do AVR Studio 4.xx.

Niestety - z uwagi na mnóstwo baboli występujących w AVRS 5/6 nie podejmuję się i jeszcze długo się nie podejmę wyjaśnień dlaczego komuś coś tam nie działa w AVRS 5/6 .... Przy czym pisząc o babolach mam też na myśli wszelkiego rodzaju utrudnienia podczas tworzenia projektów - czego człowiek nawet nie uświadczy w Eclipse.

Powiem, tak - ktoś kto już w sposób zaawansowany i biegły radzi sobie z projektami, wie wszystko o łączeniu plików i ma praktykę w szukaniu błędów poradzi sobie spokojnie i z AVRS 5/6 .... Ale dla osoby początkującej to katorga i to na własne życzenie.

Dlatego tylko ja wolę pomagać w problemach z Eclipse - bo tu sto razy łatwiej pomóc i kogoś naprowadzić. Po drugie to właśnie Eclipse pomaga i to ZDECYDOWANIE nabrać ogłady i praktyki w pracy z nawet rozbudowanymi projektami w C.

_________________
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: 3 cze 2012, o 16:47 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

spróbuje przeintalować exlipse i zobacze czy tym razem pójdzie.
A maże kolaga wie gdzie znaleść najnowsza wersje bo ta z płyty nie chce mi chodzic



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 cze 2012, o 17:43 
Offline
Moderator
Avatar użytkownika

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

wronski napisał(a):
spróbuje przeintalować exlipse i zobacze czy tym razem pójdzie.
A maże kolaga wie gdzie znaleść najnowsza wersje bo ta z płyty nie chce mi chodzic


Polecam przeglądać mojego bloga:

http://mirekk36.blogspot.com/2012/04/ec ... lugin.html

proszę - instrukcja jak pobrać i zainstalować sobie samemu krok po kroku

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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