Programowanie w języku C w środowisku AVR Studio4 - Wersja do druku +- HomeMade (http://sp-hm.pl) +-- Dział: Oprogramowanie (/forum-84.html) +--- Dział: Technika programowania mikroprocesorów (/forum-85.html) +--- Wątek: Programowanie w języku C w środowisku AVR Studio4 (/thread-1161.html) |
RE: Programowanie w języku C w środowisku AVR Studio4 - SQ6IYY - 14-01-2012 21:51 Kod: #include <avr/io.h> // czyli tu dla kompilatora jest cała zawartość pliku io.h (nie wnikajcie teraz gdzie jest ten plik RE: Programowanie w języku C w środowisku AVR Studio4 - SQ6OXK - 14-01-2012 22:57 Jeśli dołączasz plik nagłówkowy dyrektywą #include to w zależności jak zapiszesz różnie szuka. - jeśli nazwę pliku umieścisz w znakach < > to będzie szukał w katalogu [katalog programu] AVR Toolchain\avr\include\ - jeśli nazwę pliku umieścisz w " " to będzie szukał w katalogu pisanej aplikacji Przypominam, że zamiast PORTA=PORTA^0b00000001 można zastosować krótszą formę PORTA^=0b00000001, albo PORTA ^= 1<<0. Łatwiej wtedy w razie zmiany bitu poprawić zapis. Na przykład jeśli chcemy "mrugać" na przykład na PA.5 to zapisujemy PORTA ^= 1<<5, zawsze chyba lepiej niż liczyć które zero zmienić na jeden. RE: Programowanie w języku C w środowisku AVR Studio4 - SQ6IYY - 14-01-2012 23:13 Paweł spróbowałem zrobić zadanie domowe a część kodu sklejałem z postu i lekko zmodyfikowałem po swojemu liczyłem że sedno zadania wykonałem a czy dobrze .. nawet nie wiem co napisałem dopiero się uczę 2 dzień i bez płytki testowe a jak je zrobię dopiero sprawdzę co zrobiłem( napisałem ) Pozdrawiam chętnych do nauki 0 RE: Programowanie w języku C w środowisku AVR Studio4 - SQ2EER - 15-01-2012 0:27 Witam - czy ktoś z kolegów próbował zaprogramować atmę32 na płytce testowej EvB 4.3 z programu AVR Studio 4 - bo nie mogę się połączyć z płytką przez ISP - pozdrawiam Jacek. RE: Programowanie w języku C w środowisku AVR Studio4 - SQ6OXK - 15-01-2012 9:08 SQ6IYY - no ok, chcę tylko przekazać "jakieś" dobre doświadczenia, program w twojej będzie działał tak samo, chodzi tylko o pokazanie inny, czasami lepszy rozwiązań. Jacku - SQ2EER, a jaki masz programator? Wybrałeś odpowiedni w AVRStudio? RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 15-01-2012 18:14 (14-01-2012 18:08)SQ6OXK napisał(a): PS. Czemu AVR Studio 4, a nie 5?bo komputerek, który mam w domu nie pozwala na zainstalowanie 5 - nawet nie wiem jak wygląda więc nie moge opisywać jego działania. (14-01-2012 21:51)SQ6IYY napisał(a): ...nie bardzo wiem o co chodzi z tą prośbą - jaśniej proszę (14-01-2012 22:57)SQ6OXK napisał(a): Przypominam, że zamiast PORTA=PORTA^0b00000001 można zastosować krótszą formę PORTA^=0b00000001, albo PORTA ^= 1<<0. Łatwiej wtedy w razie zmiany bitu poprawić zapis.Oczywiście masz rację, ale "oni" dopiero sie uczą i nie chcę ludzi zniechęcać dając od początku mało dla nich zrozumiały zapis typu x+=1 (czy własnie ten podany przez Ciebie). Jeśli już chcesz im to przekazać to trzeba wyjasnić na jakiej zasadzie powstaje taki zapis. Wyjaśniam zatem: wyrażenie x=x+1; to linijka kodu mówiąca, że od tej pory wartość x jest większa o 1 (przypuśćmy że x miał na początku wartość równą 5, po tej linijce kodu jego wartość zmieniona jest na 6). W języku C stosuje sie krótszy zapis, znak "+" jest przestawiony przed znak "=" oraz "x" po prawej stronie "znika". Poniżej przedstawiam przykłady zapisów tradycyjnych i skróconych znaczących dokładnie to samo: x=x-10; jest równoznaczne z x-=10; zmienna = zmienna << 1 jest równoznaczne z zmienna <<= 1; PORTB = PORTB & 0x0F jest równoznaczne z PORTB &= 0x0F (15-01-2012 0:27)SQ2EER napisał(a): Witam - czy ktoś z kolegów próbował zaprogramować atmę32 na płytce testowej EvB 4.3 z programu AVR Studio 4 - bo nie mogę się połączyć z płytką przez ISP - pozdrawiam Jacek.1. Sprawdź czy zainstalowałeś sterownik programatora - po podłączeniu go do komputera powinien być widoczny w menadżerze urządzeń. Zaznaczyłem czerwonymi elipsami gdzie u mnie jest widoczny mój programator 2. W AVR Studio 4 .... menu "Tools", "Program AVR", "Connect" i wybierasz z lewej rodzaj posiadanego programatora. Czy korzystam z programatora USB AVR ISP II, czy z tego na płytce ewaluacyjnej ( + bootloader na Atmedze) zawsze wybieram AVRISP - to ustawienie działa u mnie w obu przypadkach. (załaczony plik) W prezencie moje wypociny w programie Eagle, płytka z atmegą w obudowie TQFP jeszcze sie nie zmaterializowała i już wiem że zapomniałem o przycisku RESET na tej płytce - napewno to kiedyś poprawię, ci co znają Eagle sami sobie to poprawią. Na płytce nie zastosowałem standardowego gniazdka do programatora, bo zajmuje duzo miejsca (robiłem to dla siebie i miałem w planie polutowanie prostej przejściówki). Na płytce jest miejsce na pamięć i układ zagarka/kalandarza, które chcę wykorzystać w syntezie. Ta druga płytka z AD9951 została przeze mnie wykonana i podłączona do kupnej płyty ewaluacyjnej - działa ! RE: Programowanie w języku C w środowisku AVR Studio4 - SQ2EER - 15-01-2012 18:31 Witam - u mnie programator na płytce jest widoczny jako: RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 15-01-2012 18:55 Czy łączyłeś się już z tą płytą za pomocą innego programu niż AVRStudio ? np. przy pracy z Bascomem Czy twoja płytka to jest to : http://www.zestawyuruchomieniowe.pl/product.php?id_product=20 RE: Programowanie w języku C w środowisku AVR Studio4 - SQ2EER - 15-01-2012 19:04 Witam - tak to ta płytka EvB 4.3 - wcześniej działała jak próbowałem coś pisać w Bascom'ie http://sp-hm.pl/thread-798.html - kilka miesięcy leżała nie podłaczona do kompa nic nie robiłem na niej - pomimo postępowania jak w tym linku http://www.and-tech.pl/forum/viewtopic.php?t=911 nie mogę wgrać bootload'era do żadnego mikrokontrolera ( 2 sztuki M644p; M32; M16) cosik się pomotało w kompie AVRDUDE pokazuje że nie może znaleźć programatora: RE: Programowanie w języku C w środowisku AVR Studio4 - SP4EJT - 16-01-2012 12:43 Skoro zaistniał taki problem to chcę tu wyjaśnić czym jest bootloader dla tych co zaczynają przygodę z mikrokontrolerem. Standardowym sposobem programowania jest użycie programatora. Producenci płyt ewaluacyjnych stosują zamiast jednego z klasycznych programatorów zwykły konwerter USB <-> SERIAL(COM), bo jest tańszy. Nie da się(chyba że czegoś nie wiem) zaprogramować nim fabrycznie nowej ( z czystą pamięcią ) ATMEGI - tylko programatorem zaprogramujecie. Żeby dało się programować Atmegę poprzez ten konwerter Wgrywany jest w Atmegę (czyli tak naprawdę Atmega jest programowana) właśnie BOOTLOADER - jest to mały programik, który pozwala programować Atmegę (przy użyciu wspomnianego konwertera) poprzez 2 piny PORTU D. Bootloader wgrywany jest jednorazowo, pozwala on programować Atmegę aż do momentu jej zdechnięcia (moją programowałem już grubo ponad 1000 razy i żyje ). Sprzedawca płyty ewaluacyjnej programuje Atmegę bootloaderem za nas i nie musimy się martwić jak go wgramy. Dostajemy zestaw gotowy do działania ! Przynajmniej tak robi Sklep z którego ja kupiłem płytę ewaluacyjną. Poniżej umieszczam plik z opisem mojej płyty ewaluacyjnej - koniecznie przeczytajcie strony: 4, 12 i 13 - one mówią conieco na ten temat http://www.microsense.pl/allegro/EvB_ATmega16-32/manuals/EvB_ATmega16-32_manuals.pdf Do SQ2EER: Jeśli miałeś wgrany bootloader w w którąś ze swoich Atmeg to on powinien tam ciągle być chyba że go w jakiś sposób skasowałeś - nie znam innego sposobu jak użycie programatora (nie jestem mistrzem tego tematu), a ty go chyba nie posiadasz. Ludzie tacy jak Jarek SP3SWJ czy Adam SP5FCS mają większe doświadczenie - niech mnie skorygują jeśli niechcący kłamie. Są pewnie tacy którzy czekają aż umieszczę kolejne lekcje zamiast wyjaśniać inne rzeczy, ale chciałbym żebyśmy wszyscy szli "łeb w łeb" co zminimalizuje liczbę pytań i "chaos" na forum. Dziś będzie kolejna lekcja - jak wrócę z pracy to cos skrobnę i tu zamieszczę |