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



Teraz jest 19 kwi 2026, o 03:27


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 29 ] 
Autor Wiadomość
PostNapisane: 26 lut 2013, o 11:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Witam wszystkich serdecznie !
Jestem nowym uzytkownikiem tego forum. Od pewnego czasu jestem szczesliwym nabywca biblii pana Miroslawa i zestawu ATB. Przygode z programowaniem zaczynam od tego roku i nie znany jest mi jezyk C :cry: . Wszystko co tu zamieszcze zawdzieczam lekcjom i przykladom zawartym w niebieskiej ksiazce pana Mirka i podpowiedziom z tego forum 8-) .

Sprawa wyglada tak: chcialbym was prosic o pomoc podczas "przedzierania" sie przez wiedze zawarta w niebieskiej ksiazce, podpowiedziach przy programowaniu i nowym funkcjom w jezyku C.

Jako cel : postanowilem uzyc LED z zestawu ATB do kazdego cwiczenia opisanego w "podstawach programowania".
Przy cwiczeniu z klawiszami, klawisze zapalaja i gasza diody, przy cwiczeniu z PWM gasze i zapalam diode, nastepnie uzywam klawiszy do wyboru PWM, przy cwiczeniu z wyswietlaczem 7 segmentowym uzywam go wraz z wczesniejszym cwiczeniem.

Pomoze mi to w rozbudowie kodu i w lepszym zrozumieniu tematu.

Z gory dziekuje za wszelkie podpowiedzi i komentarze !



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

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

No to śmiało wrzucaj kod który piszesz z którym masz ew kłopoty to pomożemy ;)

_________________
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: 26 lut 2013, o 11:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Pierwsza proba polaczenia kilku dzialow z ksiazki.
Za pomoca 4 przyciskow podlaczonych do ATmega32 chce wybrac jedna z 4 diod a nastepnie ustawic jej intensywnosc poprzez wybor poziomu PWM.

Kod, ktory uzylem:

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


Tutaj dolaczam link w celu przedstawienia koncowego efektu:
http://www.youtube.com/watch?v=SM3fPH6oavU&feature=youtu.be


Prosze o wszelkie komentarze, zwiazane z bledami w kodzie i lepszymi rozwiazaniami tego "projektu" :roll:

Za jakis czas postaram sie sprecyzowac wlasne pytania zwiazane z jezykiem C i problemami z elektroniki do tego przykladu.

Nastepny plan rozbudowy kodu, to sygnalizowanie wybranej diody i wartosci PWM na wyswietlaczu 7dmo segmentowym.
Dzieki za pomoc !

ps. nie wiem czy moge wrzucac cale kody i linki do filmkow, jesli nie to z gory przepraszam ;)



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

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

Możesz wrzucać całe pliki main.c ale nie należy wklejać tu kodów źródłowych bibliotek z książki, bo te posiada zwykle każdy zainteresowany na tym forum - OK

i umieszczaj kody w znacznikach [ syntax = c ] a nie [ code ] ..... poprawiłem - więc wyedytuj i zobacz jak to się robi

_________________
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: 26 lut 2013, o 12:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Dziekuje za poprawienie umieszczonego kodu.

Pierwsze pytania jakie przychodza mi do glowy, zwiazane sa ze strona techniczna naszego uP.
W zalaczonym 1wszym obrazku, widzimy polaczenie uzyte w tym cwiczeniu. Rezystor dolaczony do diody ma 220Ohm napiecie Vcc takie samo jak zasilanie uP, wiec 5V. Jesli spadek na diodzie jest rowny 2V to prad, ktory plynie przez diode w tym czasie to 3V/220Ohm = ok. 13 mA. Jesli wszystko do tej pory sie zgadza, chcialem sie spytac, czy znalezione w nocie PDF Atmegi32 informacje o maksymalnym pradzie jaki moze przeplywac przez nozke uP to 40mA ?

Czy w tym wypadku jesli zmniejszylbym rezystor badz uzyl wiekszego napiecia Vcc, to podczas zwarcia nozki PIN1 do masy i umozliwieniu przeplywu pradu przekraczajacego 40mA, zniszczyl bym scalak ?

Kolejne pytanie :P Jesli Atmega jest zasilana 5 V i ustawian PIN1 na poziom wysoki, a nasza dioda jest podlaczona pod Vcc = 10V to roznica potencjalu nadal wynosi 5V wiec sytuacja jest identyczna jak w pierwszym przypadku ?


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2013, o 13:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Dzieki za odpowiedz !
Pytam sie o to, bo zastanawialem sie nad podlaczeniem np. diody wysokiej mocy gdzie prady sa znacznie wieksze.
Teraz rozumiem ze w takim wypadku najszybszym i najlatwiejszym rozwiazaniem jest uzycie tranzystora do kluczowania diody, tak jak na zalaczonym zdjeciu ? (o ile schemat jest poprawny)

------------------------ [ Dodano po: 40 minutach ]

Kolejne pytanie zwiazane jest z zalaczonym kodem.
Po nacisnieciu mloteczka do zbudowania projektu w srodowisku ECLIPSE, w folderze zawierajacym main.c i w kodzie widnieje wykrzyknik z komunikatem o ostrzezeniu.
Po zbudowaniu projektu jeszcze raz (2x mloteczek :mrgreen: ) komunikat ten znika i program mozna wstrzyknac do uP. Czy moze mi ktos powiedziec czemu za pierwszym razem mialem ostrzezenie ?
ps. wiem ze ciagle pytam z ciekawoscia dziecka :roll: , ale tego typu rzczy ciagle mnie zastanawiaja a chcialbym wiedziec jak uniknac takich bledow w przyszlosci :twisted:


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Ostatnio edytowano 26 lut 2013, o 14:08 przez barszczz, łącznie edytowano 2 razy

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

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

barszczz --> zanim jednak narysujesz na tym forum taki hmm hmm "schemat" ... to proszę cię obejrzyj ze dwa pierwsze poradniki do Eagla z tej serii i więcej nie pokazuj tu twórczości w MS Panit ok ? ;) to taka prośba - jak obejrzysz poradniki to zrozumiesz OK ?

http://atnel.pl/kurs-cadsoft-eagle.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: 26 lut 2013, o 14:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

tak jest :) zabieram sie za przejrzenie poradnika do Eagle.... 8-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2013, o 21:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 582
Pomógł: 17

barszczz

Tak na szybko doczepię się do kodu:
Po co masz warunek:
nr_LED<=0;

Skoro zmienna nr_LED jest typu UNSIGNED i nie może być mniejsza od 0?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2013, o 22:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

A ponieważ zmienna składa się tylko z warunków if to kompilator się obawia że funkcja nie zwróci żadnej wartości, stąd ten warrning

------------------------ [ Dodano po: 3 minutach ]

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

I już nie powinno być warninga



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2013, o 08:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

wielkie dzieki !
zmodyfikuje moj kod, zastanowie sie jeszcze raz gdzie byl blad :)

Tak jak mowilem, dolozylem do wczesniejszego kodu wyswietlacz 7 segmentowy LED. Pierwsza cyfra do sygnalizacji wybranej diody a pozostale 3 do wyswietlenia PWM.
Dodatkowo do wyboru mamy 8 diod.

Do poprzedniego kodu dodalem biblioteke zawarta w niebieskiej ksiazce (d_led) i dorzucilem kilka linijek do wyswietlenia nr diody i wartosci PWM:

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



Filmik efektu koncowego:
http://www.youtube.com/watch?v=OdNavWlkXxI&feature=youtu.be

Taka mala rzecz a cieszy :twisted:
Nastepny cel to wyswietlenie tych liczb na wyswietlaczu LCD - cos czuje ze bedzie z tym troszke zabawy :roll:

Z gory dziekuje za wszelkie poprawki i podpowiedzi ! ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 mar 2013, o 19:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Witam ponownie,
Dlubie i probuje przerobic wczesniej wspomniany kod tak aby wyswietlalo mi nr diody i wartosc PWM na wyswietlaczu LCD, lecz i tutaj mam kilka pytan :P

Z ksiazki przeczytalem, ze adresy w DDRAM nie musza isc po kolei i nalezy zdefiniowac numer rzedu dla kazdego wyswietlacza osobno:
Dlatego, tez uzylem kodu Pana Mirka z cwiczenia nr 4 i dolozylem nastepujaca czesc:

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


Rozumiem, ze poczatek wiersza moze zaczynac sie od roznych wartosci, ale w moim przypadku otrzymalem dziwne wyniki:
Obrazek

wiem, ze juz niedlugo bede nazywany krolem paint-a :lol: , ale tak mi najlepiej siebie wytlumaczyc :oops:

pierwszy wiersz zaczyna sie od 0 i konczy na 15 tak jak w nocie katalogowej (zawartej na plycie dolaczonej do ksiazki), nastepnie drugi wiersz zaczyna sie od 40 i przez kolejne 7 adresow stoi w tym samym oknie.
Gdy licznik x osiagnie 56 zalacza sie znowu 1wsza pozycja 2giego wiersza i stoi do wartosci 64, potem od wartosci 65 do 79 porusza sie po drugim wierszu zgodnie z nota.

Tutaj filmik dla lepszego zobrazowania mojej sytuacji:
http://www.youtube.com/watch?v=-UxhemUcam0&feature=youtu.be

Bylem pewien, ze trudnosc jest ze znalezieniem pozycji zaczynajacej wiersz, ale nie bylem przygotowany na to, iz jedno okno w wierszu moze znajdowac sie pod kilkoma adresami :? dodatkowo, iz w wierszu nie ma ciaglosci :cry:

Moze jakies podpowiedzi w tym temacie :) ?



Ostatnio edytowano 5 mar 2013, o 09:23 przez barszczz, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2013, o 08:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Dzis sprawdzilem to samo dla innego wyswietlacza 2x16, efekt jest taki sam, wiec rozumiem, ze tak ma byc i kilka adresow moze odpowiadac dla tego samego okna w wierszu 8-)
Podsumowujac: wiersz 1 dla x=0:15 ; wiersz 2 dla x=64:79 i wszystko powinno dzialac jak nalezy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2013, o 08:41 
Offline
Moderator
Avatar użytkownika

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

wiesz co ? tak żeś pan nakręcił a szczególnie tym rysunkiem i jakimiś mega dziwnymi adresami a do tego że kilka adresów może odpowiadać .... hmm do czego ? do tego samego okna w wierszu ??? jakie okno w wierszu ???? ;) na prawdę przeczytaj opis HD44780 na spokojnie jeszcze raz.

_________________
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: 5 mar 2013, o 09:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Wlasnie zauwazylem, ze cos nie tak z tymi rysuneczkiem :oops: poprawione :P

Slowo 'okno' uzywam dla opisu jednej pozycji zdolnej do pokazania jakiejs cyfry, nie wiedzialem jak to fachowo nazwac :?
Wiec kazdy wiersz ma 16 okien w tym znaczeniu :)
A po puszczeniu tego progamiku, dla jednego okna przypisanych bylo kilka adresow, wiec np 2 wiersz pierwsza pozycja moglbym wybrac z 20 roznych adresow do wyswietlenia cyfry w tym miejscu :roll:
Taka ciekawostka i kolejna lekcja dla mnie do poznania LCD.

O tak przy okazji, czy moglbym prosic o link do noty z przebiegami czasowymi itd do wyswietlacza 2x16 uzytego w zestawie ?
Niestety mam jedynie jednostronna note z rozmiarami LCD i jego elektrycznymi parametrami - z gory dziekuje !

------------------------ [ Dodano po: 13 minutach ]

Tak jak planowalem, kolejna zmiana zwiazana z wyswietlaniem numeru diody i wartosci sygnalu PWM sterujacego dioda.
Po zapoznaniu sie z ta czescia w niebieskiej ksiazce udalo mi sie z latwoscia wyswietlic planowany napis i dane wartosci.
Wszystko co potrzebne zostalo juz dawno zawarte w bibliotece do LCD dolaczonej do ksiazki ;)

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


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


Efekt koncowy:
http://www.youtube.com/watch?v=jSTmor-spa0

Pytania odnosnie wyswietlania wartosci PWM, w tym przypadku moga one osiagnac do 3 miejsc na ekranie np.255
po przekroczeniu wartosci 255 znowu zaczynam od 0, lecz wczesniejsze znaku nie zostaly wymazane dlatego tez uzywam wymazania pozycji w postaci spacji " ". Czy moglibyscie mi na szybko poradzic inne rozwiazanie, gdyz na LCD widac odswiezanie cyfry.
Dodanie comendy clear screen na koncu oczywiscie nie zadzialala poprawnie.

Dodatkowe pytanie, przy uzyciu wyswietlacza LED cyfre wyswietlalem na poszczegolnym wyswieltaczu dlatego tez musialem oddzielic czesci setne dziesiate i jednosci:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Czy moglbym w jakis sposob skleic te cyfry ?
Gdyz, rozwiazanie do wczesniejszego pytania mozna zalatwic w nastepujacy sposob:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

wowczas nie potrzebujemy lcd_str(" "); do skasowania wczeniej wyswietlonej liczby, ale za to mamy ciagle wyswietlane 3 cyfry np. 005, 025 itd.

Kolejna czesc to komunikacja UART pomiedzy dwoma procesorami, nastawa LED i PWM na jedym procku powinna zmieniac nastawe na drugim 8-). Zobaczmy jak szybko to pojdzie :oops:
dzieki za pomoc !



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2013, o 13:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Chcialem sie dowiedziec, czy sa jakies przeciwskazania do podlaczenia LCD i nawiazania komunikacji poprzez UART ?

Probowalem jedynie dolaczyc inicjalizacje UARTa do wczesniejszego programu z LCD; czyli ustawilem boud, ilosc bitow, bity stopu itd.
(ta sama inicjalizacja dzialala we wczesniejszym programie)
Po samym ustawieniu tych wartosci i zaladowaniu kodu do procka, na ekranie LCD trace wszystkie informacje (napisy: LED nr=, PWM value=), natomiast sam program dziala (ustawianie LED i PWM).
Gdzie tkwi problem ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2013, o 13:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Nie ma żadnych. Coś mi się wydaje że wyświetlacz masz na porcie D. A jeżeli tak nie jest to pokaż kod ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2013, o 13:47 
Offline
Moderator
Avatar użytkownika

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

dokładnie - bo trzeba jednak czytać instrukcję do zestawu - a widzę że sporo osób to pomija i później są kłopoty :(

szczególnie sekcję na temat właśnie jumerkologii związanej z RS232 i przejściówką USB

http://atnel.pl/atb-przejsciowka-usb-rs232.html

ale nie tylko - jak widać na stronce wszystko jest ładnie opisane

_________________
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: 5 mar 2013, o 13:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

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



To ci się chyba pomyliło, ponieważ raczej powinno być
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: 5 mar 2013, o 16:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

dziekuje za podpowiedzi, zaraz rzucze na to okiem :)
Tak wyswietlacz na porcie D :?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2013, o 17:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

No i masz odpowiedź na swój problem .......... przenieś LCD na inny port i powinno być ok ....... A na przyszłość pamiętaj że jak korzystasz z RS232 to do pinów PD0 i PD1 nic się nie podpina ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2013, o 17:31 
Offline
Moderator
Avatar użytkownika

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

barszczz napisał(a):
dziekuje za podpowiedzi, zaraz rzucze na to okiem :)
Tak wyswietlacz na porcie D :?


Jeśli na PORTD to jeszcze zwróć uwagę na:

http://atnel.pl/atb-czujniki.html

bo PD6 też może się okazać że masz użyty

_________________
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: 6 mar 2013, o 09:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Dzieki Panie Mirku, po zakupie zestawu przelecialem wiekszosc informacji na stronce i na forum oraz przeszedlem przez tutoriale, ale szczerze powiedziawszy dla kogos kto dopiero zaczyna ilosc informacji jest tak duza, no i wstyd sie przyznac ale pewnej czesci w ogole nie rozumialem :oops:
dziekuje bardzo za podawanie odnosnikow, gdyz nie spamietalbym gdzie widzialem je wczesniej :roll:

Plytka ma tyle wlasciwosci, ze dopiero w cwiczeniach i po waszej interwencji dowiaduje sie do czego, jumpery czy inne piny sluza :?
ale widze, ze juz znaczna czesc po zalaczonych cwiczeniach i pytaniach sie rozjasnia, wiec jeszcze raz wielkie dzieki za pomoc....
Narazie przerwa do piatku, musze nadrobic zaleglosci z innymi rzeczami :twisted:

Wczoraj probowalem przebic sie prze problemy z innym 'odziedziczonym' zestawem uruchomieniowym i szczerze powiedziawszy, praca z tym zestawem w porownaniu do zestawu ATB to mordega. Nie zlicze ile razy, kod dzialajacy na ATB nie poszedl na 'odziedziczonym' zestawie (oczywiscie po pewnych zmianach zwiazanych ze zmiana polaryzacji LED).
Nie wiem, ile juz razy machnalem reka i zaczalem robic cos innego, np. teraz walcze z zagwozdka zwiazana z portem C w tymze zestawie (Atmega16).
Programowo ustawiam je jako wyjscie i ustawiam stan 0, jednak na pinach TCK, TMS, TDI ciagle mam stan wysoki. Napiecie na pinach sprawdzalem z podpietym programatorem, jak tez i bez ( zasilanie zewnetrzne z ladowarki).
No i jak widac, tego typu niespodzianki opozniaja i zniechecaja czasem do dalszej pracy...
podczas pisania tego postu przypomnialo mi sie, ze jest tam wlaczony interface JTAG, zaraz sprawdze czy w tym tkwi problem :)
a mialem juz zabrac sie za swoje inne rzeczy :lol:
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2013, o 13:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Oczywiscie, po wylaczeniu interface Jtag przy uzyciu mkAVR calculatora, podane piny zachowuja sie jak nalezy (sprawdzone multimetrem, zobaczymy w praktyce za jakis czas).
Tyle nerwow a takie proste rozwiazanie :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2013, o 13:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Witam ponownie,
Staram sie przejsc przez lekcje o komunikacji RS232, przeczytalem juz kilka postow na forum, informacje w ksiazce i chcialem zrobic zadanie 7 z niebieskiej ksiazki.
Wgralem program do kalibracji OSCCAL za pomoca USBasp, nastepnie odlaczylem programator od USB i podlaczylem usb z komputera do zestawu ATB. Zworki RX TX sa zalozone, wiec sygnal z procka leci do scalaka FT232. Procek wewnetrznie taktowany 8 Mhz, ustawiona komunikacja 9600-8N-1 na putty odpalam i wszystko dziala, wyswietlaja sie krzaczki a nastepnie liczby dla rejestru OSCCAL.
Nastepnie odpalam Terminal v1.9b i wszystko chodzi ladnie tak jak w putty.

Natepnie, z niebieskiej ksiazki chce sprawdzic nadawanie z procka do terminaly, wiec wgrywam nastepujacy kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Widze ze czerwona dioda dla TX mruga co 3 sec, lecz po uruchomienia programu putty, nic sie nie wyswietla. Gdy, uzywam terminal 1.9 mam nastepujacy efekt
Obrazek

Cos pewnie jak zwykle przeoczylem, czy mozecie mi z tym pomoc ?

------------------------ [ Dodano po: 29 minutach ]

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

na putty mam wyswietlane znaki dd a dla terminala 1.9:
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2013, o 15:18 
Offline
Moderator
Avatar użytkownika

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

przede wszystkim sprawdź sobie ustawienia UBRR ale zgodnie z tym:

http://mirekk36.blogspot.com/2013/01/rs ... trick.html

------------------------ [ Dodano po: kilkunastu sekundach ]

poza tym jak nie jesteś pewien czy działa - to zawsze można na chwilę ustawić fusebity na zewn kwarc i sprawdzić czy to nie jest przypadkiem wina wewn. oscylatora który być może domyślnie jest źle skalibrowany i trzeba go właśnie doklaibrować. Skoro działał ci poprzedni przykład to przecież na jego podstawie możesz określić odpowiednią dla twojego procka wartość OSCCAL i wpisać go do rejestru na początku tego programu przy taktowaniu z wewn. oscylatora

_________________
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: 10 mar 2013, o 17:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

dokladnie w tym tkwil problem :oops:, dzieki temu widze jak bardzo wazna role ma odpowiednie dobranie taktowania, w sumie na 8 Mhz przy 9600 blad byl 0,2% , teraz przy uzyciu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

moge wysylac litere badz caly wyraz 8-)
Z podanego linka przeliczanie UBRR:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

rowniez dziala bez problemu, wiec jak takie rozwiazanie jest polecane to bede sie tego trzymal :)
dzieki za pomoc ! kolej na kolejny maly krok :twisted:

O jeszcze tak dla pewnosci, co do OSCCAL, dla kalibracji mialem wartosci od 176 do 194, srednia 185, wiec w glownej petli:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

i kalibracja wewnetrznego kwarca skonczona, czy nalezy cos jeszcze dodac ?

------------------------ [ Dodano po: 8 minutach ]

sprawdzona kalibracja dla wewnetrznego taktowania 8MhZ, dziala :), kurcze takie szczegoliki a moga uprzykrzyc zycie :geek: :ugeek: 8-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2013, o 18:34 
Offline
Moderator
Avatar użytkownika

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

Uwaga !

OSCCAL=185;

nie w pętli głównej ;) coś ty ?

przed pętlą główną TYLKO RAZ czyli przy inicjalizacji programu po resecie ;)

_________________
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: 22 mar 2013, o 15:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 106
Pomógł: 0

Co do ustawienia rejestru OSCCAL, oczywiscie ustawic raz przed a nie w petli glownej :)

Juz jakis czas mnie tutaj nie bylo :twisted:, pochlanela mnie czesc odnosnie UART w zielonej ksiazce Pana Mirka.
Ufff, ciezko bylo przez to przejsc :) Pewna czesc opisywanych funckji i rozwiazan zostala wytlumaczona w poprzednich rozdzialach tej ksiazki, wiec cigale czuje niedosyt i musze powoli przymierzyc sie do zaczecia czytania od poczatku.

Krok po kroku, udalo mi sie przejsc przez komunikacje UART a nastepnie udalo mi sie zrobic prowizoryczny iterface graficzny do prostego programu jaki omawialem wczesniej. Z ekranu komputera ustawiam diode, jej intensywnosc i czas dzialania.

Efekt koncowy mozna zobaczyc ponizej 8-) :

http://www.youtube.com/watch?v=ocudwwRsgZE&feature=youtu.be


Mam do was pytanie odnosnie pisania programow na PC, czy mozecie polecic mi jakis jezyk, program i tutoriale, aby cos podobnego wyskrobac w lepszym srodowisku ? Widzialem, gdzies na forum kurs Visual C++ przy uzyciu C# , ale czy macie moze jakies inne propozycje.
Interesuje mnie, cos bardziej amatorskiego, abym podolal i najlepiej abym mial duze wsparcie ze strony dostepnych informacji w Internecie :? .

Nastepna przymiarka do komunikacji podczerwienia - mam nadzieje, ze to pojdzie szybciej :)
dzieki wielkie !



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: 29 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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