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



Teraz jest 29 mar 2024, o 08:14


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 31 sie 2017, o 15:43 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 31 sie 2017
Posty: 11
Lokalizacja: Zielona Góra
Pomógł: 0

Mam napisany program, ale jest on mało zoptymalizowany, więc pewnie dlatego wyrzuca błąd przy kompilacji (tak mi się wydaje, kiedy użyję mniej delay'ów kompiluje się normalnie). Macie jakieś pomysły jak można to zapisać używając mniej kodu ? :)

Cytuj:
#define F_CPU 1000000UL <---- TEGO NIGDY nie dajemy w kodzie programu - proszę o tym pamiętać na tym forum - mirekk36


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



Obrazek podaję w linku, bo nie mogę dodać załącznika *.jpg, *.png, a wstawiony w img rozwala temat :)

[ nic nie rozwala - trzeba tylko dodawać ZGODNIE z instrukcją na forum topic44.html - mirekk36 - usuwam link ]

//Edycja, poprawiam obrazek:

Obrazek



Ostatnio edytowano 31 sie 2017, o 18:14 przez bboylubsko, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2017, o 16:00 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Po pierwsze nie używamy F_CPU w kodzie a we właściwościach projektu.
Po drugie czy próbowałeś to kompilować pod Eclipsem lub Atmel Studio?
Po trzecie wstaw normalnie obrazek. Jeśli coś ci nie wychodzi-zmień przeglądarkę, bo innym działa ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2017, o 16:32 
Offline
Moderator
Avatar użytkownika

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

bboylubsko napisał(a):
Macie jakieś pomysły jak można to zapisać używając mniej kodu ?


Pewnie, zaglądaj częściej na mój blog a w tym wypadku TUTAJ:

http://mirekk36.blogspot.com/2015/07/ec ... ogram.html

dzięki czemu zmienisz środowisko na normalne czyli ECLIPSE - a w tej serii 3 poradników masz pokazane podstawy

jak chcesz nauczyć się sam tego robić to polecam też zacząć od dobrej książki jak wielu już zaczęło

http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

czyli od sławnego już Bluebooka ;)

_________________
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: 31 sie 2017, o 17:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Może najpierw napisz co chcesz osiągnąć bo jakoś mi nie przychodzi do głowy w jakim celu w kółko przełączasz piny portu z wejścia na wyjście i na odwrót. Jeśli chcesz migać diodami podłączonymi do całego portu to najpierw wszystkie ustaw jako wyjścia a potem zmieniaj ich stany w rejestrze PORTD
http://mirekk36.blogspot.com/2012/01/avr-porty-wewy-dir-podstawy.html
Druga rzecz to jeśli coś ma się dziać cyklicznie warto zastosować jakąś pętlę np jeśli chcesz zrobić biegnące światełko w ramach portu możesz zrobić tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Powyższe oczywiście pod warunkiem że ledy będziesz miał podpięte anodami do pinów procka, a katodami do GND.
Jest to sposób jeden z wielu...


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2017, o 18:04 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 31 sie 2017
Posty: 11
Lokalizacja: Zielona Góra
Pomógł: 0

Okej, dzięki za odpowiedzi. Może najpierw odpiszę na rzeczy które źle zrobiłem zakładając wątek na forum :) Obrazek próbowałem dodać jako załącznik, a nie przez przycisk dodaj obrazek - mój błąd. O F_CPU będę pamiętał.

Teraz odniosę się do głównego tematu. Rzeczywiście Atmel studio 7.0 skompilował poprawnie tego potwora :) Korzystam z VMLAB, ponieważ nie mam jeszcze układu Atmega8, a VMLAB umożliwia jego emulację.

Program napisałem, aby się nauczyć operować na bitach, ładuje 0x55 do rejestru i wiem które diody mi się zaświecą, w późniejszej przygodzie będą to pewnie inne elementy. Początkowo też tak pisałem program, najpierw ustawiam DDRD jako wyjście czyli 0xFF i robiłem wszystko rejestrem PORT, czyli ustalałem jaki stan ma być na jakich numerach portu. Niestety znalazłem pewną stronkę w sieci i operowano na ledach właśnie w taki sposób więc zgłupiałem, ale zobaczyłem, że działa to musi być dobrze :) No nic, poprawię się.

Coś co mnie właśnie ciekawi najbardziej to operacje na bitach w rejestrach. Bo można na sztywno ustawiać stan wysoki, niski, wysoki, niski, ale jeśli coś jest powtarzalne to pewnie można to zapisać krócej w jednej linii dlatego bardzo przydatna była dla mnie odpowiedź @xentis, teraz mam co analizować i dowiedzieć się dlaczego to tak działa. Dzięki raz jeszcze :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 sie 2017, o 20:04 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Kup procesor, parę dodatkowych części i porządny programator ATB USBAsp i zacznij bawić się na żywca, bo to kompletnie co innego niż zabawy w emulacje. Praktyka czyni mistrza. Wtedy tak naprawdę szybko zrozumiesz o co w tym wszystkim chodzi (o zakupie Bluebooka to nawet nie wspomnę, bo to jest moim zdaniem biblia dla początkujących).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2017, o 14:14 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 31 sie 2017
Posty: 11
Lokalizacja: Zielona Góra
Pomógł: 0

Dzisiaj zamówiłem procesor, podstawkę i ledy też polutowałem więc będę próbował na żywo.

Obrazek

Pozdrawiam. :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2017, o 14:32 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

I bardzo słusznie. Podziel się później spostrzeżeniami.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2017, o 21:04 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 31 sie 2017
Posty: 11
Lokalizacja: Zielona Góra
Pomógł: 0

Wrażenia jak na razie super :) Dziękuję za poradniki na kanale Atnel - mirekk36 :) :)




Pozdrawiam.

(kliknij edycję i zobacz jak się poprawnie wkleja YouTube -- SunRiver)

//Edycja. Dzięki. Będę pamiętał. :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2017, o 21:43 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Gratuluję, życzę udanych zabaw!



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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