Kod umieszczaj w znacznikach "code". To co przedstawiłeś, to rozszerzenia kompilatora dla ADuC nie mające, niestety, wiele wspólnego z językiem C. Na atmedze się tak nie da.
Sprawdź dokładnie połączenia z Atmega8. Jaki masz ustawiony programator w zakładce options-- programmer powinieneś mieć sample electronics programmer Pozatym jak pisalem ci kiedys na gg na poczatku programu nie zaszkodzi: $regfile = "m8DEF.DAT" Informuje kompilator, by użył podanego pliku definicji rejestrów, zamiast określonego w opcjach kompilatora....
To bardzo proste, chcesz kompilować kod BASCOM przez kompilator AVR-GCC (język C) to tak jakbyś chciał przetłumaczyć chińskie zdanie korzystając z polsko rosyjskiego słownika.
Chyba chodzi Ci o język albo kompilator. C i avr-gcc
To jeszcze napisz w jakim języku masz program. ;)
Poćwicz sobie poszczególne operacje bitowe w kursie C wraz z kompilatorem online Cmaniak: http://mikrokontrolery.blogspot.com/2011... Możesz tam ćwiczyć także symulując Atmega8 (patrz przykład w zakładce Przykłady CManiaka). Dodatkowo: http://mikrokontrolery.blogspot.com/2011...
próbuje programować w języku C i do niego tylko mam programator. Chyba kompilator :P A co do programowania atmegi w C, to: http://www.kursc.dioda.com.pl/
Owszem spróbuję tylko tutaj widać że kompilator wysypuje błędy takiego typu jakby próbował kompilować w języku C kod w języku assembler. Może trzeba coś zmienić w winavr?
Kolego Tomcio7 , avr/io.h to nie jest żadna biblioteka tylko zbiór definicji. Oczywiście można te definicje przepisać do pliku z kodem źródłowym ("wyręczając" kompilator), ale zanim się to zrobi, to trzeba zrozumieć co te definicje oznaczają. Krótko - kolega przepisał definicje dla asemblera zamiast dla kompilatora C. Konkretnie chodzi o test warunku...
Próbowałem, ale PD2 "nie wchodzi" - dziwne; już kiedyś się to zdarzało. Dopiero PIND2 kompilator uznał za właściwy. Zegar - wewnętrzny oscylator 8MHz.
Program, który odbiera znak, nic z nim następnie nie robi, a kompilator aż piszczy od ostrzeżeń, które łaskawie ignorujesz.
Zamiast zapoznawać się z nowym językiem lepiej i szybciej będzie skorzystać z dobrego kompilatora mikroBasic http://www.mikroe.com/mikrobasic/avr/
Skompilowałem to u siebie i od razu widać błąd: makro do przerwań pisze się z dużych liter: SIGNAL(...) - w takim przypadku uzyskałem poprawny kod. Przy "signal" z małych liter powstała funkcja o nazwie "signal" (zwracany typ domyślnie int, przez co kompilator wyrzucał jeden warning). C jest językiem case-sensitive. Co do reszty kodu: zmień dołączenie...
Dziękuję. Definicję funkcji inicjalizującej przeniosłem na sam początek kodu przed "main"' ale to nic nie zmieniło. Kompilator w obu przypadkach nie pokazuje żadnych błędów, ani ostrzeżeń. Pozdrawiam.
Kompilator Ci czegoś nie podpowiada w związku z signal.h? Może też warto zaprzyjaźnić się z używaniem stałych (np. TOIE0)...?
Potrzebny jest mikrokontroler z minimum 2kB Flash (obsługa USB) i z ADC, maksymalna częstotliwość taktowania minimum 12MHz. Dobrze do tego celu nadaje się ATmega8, którego maksymalna częstotliwość to 16MHz (w wersji L jego maksymalne taktowanie to 8MHz, jednak bez większych problemów przy zasilaniu 5V zadziała przy 12MHz). Do komunikacji przez USB potrzeba...
Witam, Dotychczas programowałem jedynie procesor 8051 w assemblerze. Chciałbym nauczyć się programowania Atmegi w języku C, Posiadam Atmegę, programator ISP Oraz program PROGISP. Jakiś czas temu uszkodził mi się sterownik w Kuchence mikrofalowej i chciałbym sam zrobić sobie taki na wyświetlaczu 7' segmentowym, Oczywiście nie taki 1:1 jaki tam był :)...
Witam! Do zabawy z programowaniem potrzeba: 1 – kompilator np.: Bascom ( język BASIC ) lub AVR-GCC ( język C ). 2 – programator ( ja używam USBasp, ponieważ do jego budowy wymagany jest zaprogramowany mikrokontroler, a gdyby kolega nie miał dostępu do programatora, to zestaw elementów jest dostępny na: http://sklep.avt.com.pl/go/_search/full_...
... Czy jest możliwość aby program po powrocie z przerwania zaczynał program główny od określonego miejsca? Będzie jeszcze gorzej :( Być może masz buga w programie , albo ... .Czy język programowania , tudzież kompilator , to tajemnica jakowaś :?: Może byś tak kawałek kodu pokazał :?: Piotrek
Miałem podobny problem, bo mam Atmega88P a nie Atmega88 i jedno z narzędzi jej nie widziało. Ta literka robi dużą różnicę. Wszystko zależy która literka i w którym miejscu. P innemu P nie jest równoważne. Szukajcie w dokumentacji punktów: - Signature Bytes - Ordering Information a wszystko stanie się jasne. ... i mikrokontroler ATmega8a pu, podłączyłem...
int odczyt = ((ADCH << 8) | (ADCL)); Ten kod jest bledny bo nie gwarantuje zadnej konkretnej sekwencji odczytu ADCL i ADCH, co jest wymagane przez procesor. Prawidlowo nalezy odczytywac caly 16-bitowy rejestr, kompilator sam sie zatroszczy o wlasciwa kolejnosc odczytow ADCL i ADCH (jest to w kodzie portu gcc na AVR).
Serio liczyłeś, że kod napisany w innym języku zostanie zrozumiany przez kompilator innego języka? To tak jakbyś mówił do Chińczyka nie znającego polskiego po polsku :D Nadal nie widzę SAMODZIELNYCH prób podejścia do tematu, zaprezentowania działającego kodu, schematu.
Tak, w C wartość różna od 0 jest prawdą, stąd też twoja dziwaczna konstrukcja: if( (PORTD&0x20)>>5 ) powinna wyglądać po prostu tak: if(PORTD&0x20) Swoją drogą stosowanie makra _BV() jest IMHO pomysłem dobrym. Ma to swoje wady, ale też zalety. Proponuję przeanalizować co się stanie jeśli omyłkowo zamiast x<<5 wpiszemy x<5. Generalnie...
Jeszcze nic nie wpomniałeś w jakim języku będziesz programował, bo to też ma znaczenie. Przykładowo w C nie musisz testować dodawania bo kompilator zrobi napewno dobrze. Co innego w asemblerze, musisz o wszystko zadbać sam.
Jeżeli brakuje pamięci flash to zastosuj inny mikrokontroler np. ATmega8. Zapewne zabraknie pisząc w w języku Bascom :( Lecz wstawki ASM mogą uratować sytuację. Owszem, jeśli pisząc w języku C dobrze go znając być może nie będzie kłopotu. Jednak tak, czy owak programista nie panuje nad tym, co zrobi kompilator. Jedynie pisząc w ASM wiemy, co się dzieje,...
A jest to że asembler jest prościej zrobić niż porządny kompilator języka wysokiego poziomu. Świadczy o tym integracja nowej wersji AvrStudio z kompilatorem AVR GCC.
shadow0013 -> autor podał jaki to język - widać w tagach tematu, że to język C .... ale pytanie jest tak mocno wyrwane z kontekstu, że i tak ciężko coś podpowiedzieć, więc na pewno przydałby się kawałek kodu - przez który to tak "wariuje" - może się wtedy okazać, że coś źle robisz - zamiast odrazu przypuszczać, że kompilator czegoś tam nie wspiera ;)
Miałem kiedyś podobny problem i sprawa była związana z ustawieniami kompilatora (C dla 51) , oraz musiałem jeszcze raz przeanalizować dokładnie newralgiczne punkty programy (np: wykorzystanie stosu). W jakim języku masz napisany program? Rozumiem ze program "idzie w maliny" w jakimś konkretnym miejscu? Jeżeli tak warto to przeanalizować na symulatorze.
Bascom powinien po wywołaniu procedury obsługi przerwania skasować flagę a tego nie robi...i po obsłużeniu przerwania znów jest ono natychmiast wywoływane i program się zapętla. Trzeba ręcznie ustawić flagę w rejestrze GIFR. Wiem, że C jest dużo mniej problematyczny...sam kompilator ma też mnie roboty, bo to język niższego rzędu jak Basic Bascom, ale...
Jeśli chodzi o to co wgrać do mikroprocesora to zazwyczaj jest to plik z końcówką .hex. Ale zdarza się że kompilatory tworzą plik z końcówką .bin, a wtedy można już wybrać samemu bo są zazwyczaj to te same pliki tylko innym sposobem zapisane. Ale z .bin spotkałem się raczej w kompilatorach dla 8051. Także jak wrzucisz plik "flash.hex" do pamięci procesora...
Kiedyś język C miałem na studium informatycznym, ale były to zaledwie kilka godzin podstaw, kojarzę tylko jakąś "pętle if" i tp. Po za tym nic mi do głowy więcej nie weszło... Tak na prawdę jeszcze nie zrobiłem żadnego kroku w kierunku języka C ale pomału się przymierzam. Na początek przeanalizuję podane przez was stronki i zobaczę co z tego będzie....
Ja się przyznaję bez bicia, że używam C++ obok C, nawet na małych prockach ... , i kod wcale nie staje się ogromny. Atmega8, czyli całkiem nieduży procesor. Migrując projekt z C do C++, kompilator mi ZMNIEJSZYŁ rozmiar o kilka bajtów, przypuszczam np mając formalnie zadeklarowane metody prywatne był w stanie przeanalizować, że są nieczynne. Miałem...
Do atmegi chyba najłatwiejszy jest język Bascom. Ściągasz do niego kompilator BASCOM AVR, robisz programator i tworzysz swoje własne projekty. Gdzieś posiadam polskiego Help'a do tego programu i powiem szczerze, że z niego samego można się wiele nauczyć bo do każdego rozkazu jest jego przykład użycia...
To raport po próbie kompilacji. http://obrazki.elektroda.pl/3728602100_1... WinAVR z tego powodu że działa z USBAsp i nie trzeba się bawić z innym programem. W makefile atmega8, usbasp i nic więcej.
Hmm, ciężko zgadnąć o co Ci chodzi. Nie zastosowałeś tagów w tytule, w treści też nie podałeś zbyt wielu informacji, chociażby w jakim języku piszesz, albo co się u Ciebie kryje pod pojęciem "kompilator". Zgaduję, że chodzi o specyfikator [url=http://pl.wikibooks.org/wiki/C/Zmie... ale mogę się mylić:)
Witam, Chcę zamienić stringa na liczbę zmiennoprzecinkową. Teoretycznie nic prostszego: liczba=strtod(s,NULL); lub sscanf(s,"%f",&liczba); lub liczba=atof(s); Aż trzy funkcje i żadna z nich nie działa poprawnie. Pierwsza zwraca liczbę ok 169xx.0000 (oscyluje delikatnie w zależności od wejścia). Pozostałe funkcje zwracają zawsze zero. Dodatkowo sprawdzam...
Cześć, Gratuluję udanego i ciekawego projektu. Pewnie spędziłeś nad nim sporo czasu. Boję się, że mało osób używa języka Pascal do programowania układów AVR, skoro teraz króluje język C. Czy możesz udostępnić przykładowy kod typu blink led dla Atmega8 lub innego procesora, żeby przypomnieć sobie ten język programowania? Pozdrawiam, Rafał -:) Dziękuję...
Kilka lat temu GCC potrafił właśnie tak skutecznie optymalizować switch i podobne konstrukcje na AVR. Spróbuj chwilowo wyłączyć optymalizację. Spróbuj też takiej magicznej sztuki - zastąp char w = UDR; przez char w; w = UDR; To czysta magia i nie ma to nic wspólnego ze standardami i zasadami języka, ale niekiedy niestety pomaga przy narowistych kompilatorach.
Generalnie we wszystkich językach musisz grzecznie poinformować kompilator gdzie ma umieścić zmienną do której chcesz zagadać bo jak tego nie zrobisz to umieści ją tam, gdzie mu będzie wygodnie. Sposób lokalizowania zmiennej zależy od typu kompilatora w którym piszesz. Najczęściej. DATA - pamięc wewnętrzna; XDATA - pamięc zewnętrzna; więc swoją zmienną...
W popularnym odczuciu volatile robi jakąś magię przy programowaniu wątkowym ,przerwaniach itd... to tak funkcjonuje na zasadzie ktoś widział przez ramię i słyszał, że sąsiada bratanek nawet wie dlaczego Jest to w C,C++ ale (o dziwo dla niektórych) w Javie i C# jednakowo błędna wiara, prostowana przez kompetentnych instruktorów. W nowszych z tych języków...
Język C nie wymaga tych umiejętnosci jest oprogramowaniem obiektowym. jezyk C akurat wymaga tego 1000x bardziej niz BASCOM, w ktorym wszystko zostalo juz zrobione za ciebie. raczej ciezko znalezc kompilator C, ktory mialby wszystko juz napisane i gotowe w bibliotekach. pozatym C nie jest obiektowy. 0x41 0x56 0x45!!
I radze nie uzywac (1<<...) tylko makra _BV(), bo potem cos nie dziala i nie wiadomo czemu;);) Witam, muszę się wtrącić :)) Nie masz racji sugerując, by nie używać operacji (1<<....). Jest to wyrażenie jak najbardziej poprawne w języku C. W każdym kompilatorze. Zaś _BV() to jak sam napisałeś to tylko makro w avrgcc. W dodatku makro sprowadza...
http://obrazki.elektroda.net/27_12896925... Witam. Chciałbym zaprezentować projekt matrycy LED 20x10 punktów + 2 punkty. Ogólny opis: Jest to projekt kołowej matrycy 200 punktowej + dwa dodatkowe punkty . Matryca domyślnie miała posiadać 20 promieni (taki był projekt elektryczny jak i oprogramowanie) oraz 10 okręgów. W rzeczywistości podczas...
Witam Ostatnio zacząłem przygodę z Atmega8, zaopatrzyłem się w książkę "Programowanie mikrokontrolerów AVR w języku BASCOM" Marcina Wizania. W jednym z przedstawionych tam przykładów jest schemat oraz program do obsługi wyświetlacza 2 * 16. Zrobiłem układ zgodnie ze schematem z książki oraz przepisałem program do kompilatora. na początku podałem napięcie...
Nie wiem czy jest sens ciągnąć dalej tą dyskuję. Widzę, że tu zatwiardziali zwolennicy aseblera tylko mają prawo się wypowiedzieć. Co nie przeszkodziło zatwardziałemu zwolennikowi C obstawać przy swoim i wielokrotnie wyrazić własne zdanie. Nie jesteśmy przeciwko, a wręcz popieramy. Osobiście nie mam nic przeciwko asemblerowi. Jeśli ktoś chce się męczyć...
tia Piszesz o szczegółach, a ja miałem na myśli zasady implementacji, czy inaczej mówiąc działanie konstrukcji języka. Brak takiej, czy innej konstrukcji niemal nie ma wpływu na implementację pozostałej części. Fakt, że brak w jakimś języku jakiejś konstrukcji nie wpływa specjalnie na implementację reszty. Obsługa procedury, czy klasy wymaga dodatkowo...
No to może tak: "w temacie" jak działa zasilacz, ogranicznik prądowy, regulacja napięcia, charakterystyka krzyżowa albo podcięta itp. to znam od jakichś 40 lat. "w temacie" jak działa mikroprocesor- no to może kilka lat- to jest zresztą najlepsze. "w temacie"- jak zaprogramować- to ze 2 lata- Bascom. A jak w C- to od tygodnia. No, uwzględniając ksiązki-...
Gdy powiem powaznemu klientowi ze robie w Bacomie to juz go wiecej nie ujrze. Uwiez mi. to było "najpiękniejsze" stwierdzenie ;) - ale wytłumacz mi dlaczego poważny klient miałby cię porzucić gdybyś pisała program w Bascomie ???? skoro to właśnie kompilator Bascoma zawiera najwięcej gotowych bibliotek do obsługi różnych peryferiów (czyli tego mniej...
Na sam początek proponuje zainteresować się nieco programowaniem mikrokontrolerów oraz samymi procesorami z rodziny AVR (strona Atmela+google to dobry początek+zapoznanie się z notą katalogową mikroprocesora :) ), bo bez tego nie ma sensu się w ogóle zabierać. Program, który jest zawarty na temacie jaki podałeś wymaga skompilowania zanim zostanie zaprogramowany...
Teraz jeszcze takie jedno pytanie: jakim programem będę mógł wygenerować plik .hex z pliku .c który sobie napiszę ? Właściwie każdym który służy do pisania programów dla AVRów. Ogólnie program który to robi zwie się kompilatorem i najczęściej jest częścią zintegrowanego środowiska programistycznego zwanego IDE. Do najpopularniejszych środowisk tego...
tak właśnie podejrzewałem że bascom nie lubi operacji z dokładnym czasem. nie opowiadaj bajek i własnych teorii wyssanych z palca ;) to zależy od programisty a podobna sytuacja może ci się zdażyć pisząc tego typu kod w każdym języku. Trzeba poprostu wiedzieć co dany kompilator robi, inaczej mówiąc jaki kod w asm generuje. Mam tylko jeszcze jedno pytanie,bo...
Cenna jest uwaga dorycząca zastosowania preskalera w celu zwiększenia możliwości kostki 1057. Co do opisanego sposobu ręcznego porozumiewania się z syntezą to można stwierdzić, że chyba szybciej można się nauczyć programować uC. Polecam zatem to forum - dział mikrokontrolery. Myślę, że tak zdeterminowanej osobie koledzy chętnie pomogą w szybkim osiągnięciu...
Macie moze jakies linki opisujace to w jaki sposob obsluguje sie bisona i flexa? Tu masz troche materiałów do laborki z technik kompilacji (pisanie kompilatora) http://lux.dmcs.p.lodz.pl/tk/index.html
Zapytałem nie dlatego żeby pojechać autorowi, ale żeby się dowiedzieć. Bo ja absolutnie nie znam się na Javie. Ten algorytm „odśmiecania” zapewne nie był by problemem przy bezpośredniej kompilacji na kod maszynowy. Ale ograniczenie składni (a co dopiero brak wskaźnikowania (indexowania)) to już przegięcie. Na FLASu to już całkowicie się...
Atmega8 czy atmega8L, ta pierwsza ma zakres napięć od 4,5-5,5V częstotliwość pracy 0-16MHz, ta druga 2,7-5,5V częstotliwość pracy 0-8MHz, pierwsza strona noty. Jeśli używasz wersji zwykłej bez L to masz za małe napięcie. Jeśli chcesz sprawdzić prędkość procka to możesz skonfigurować jakiś timer to pracy w trybie PWM i porównać częstotliwość na wyjściu...
Pudło. To są "dodatkowe" nazwy typów zmiennych występujących w języku C. Np.: uint8_t: u - unsigned (bez znaku), int - integer (liczba całkowita), 8 - rozmiar (8 bitów) int32_t: liczba całkowita (ze znakiem, bo na początku nie ma "u"), rozmiar 32 bity Chodzi m.in. o to, aby uzyskać zmienną o konkretnym rozmiarze. W GCC dla AVR typ int ma 2B (16 bitów),...
Witam MAm taki PRogramik w bascomie, na razie sie uczę, w pierwszej linijce LCD 16*2 pisze "BIaLO NIEBIESKI" (chodzi o lcd, na którym jest to wyświetlane), a w drubiej wyświetla sie zmienna B1 o nazwie "Bascom" Tak wygląda: $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator...
Witam, uC zainteresowałem się w szkole gdzie walczymy na dsm 51 oraz atmega8 i piszemy w BASCOMie Zainteresowało mnie to i chciałbym w domu się pobawić coś ciekawego stworzyć. Co proponujecie na start? Moja aktualna wiedza pozwala na podłączanie lcd, led, buzzera pamięci eeprom, czujnika temperatury czy też pastyli, obsługa adc itp Co proponujecie?...
Problem Kolegi wynika z tego, że pisze program w C++, a kompiluje go kompilatorem C. A to niestety dwa zupełnie różne języki, chociaż na pierwszy rzut niewprawnego oka wyglądają ciut podobnie.
Ja robiłem podobne testy z tym że na dużo większych programach. Najpierw napisałem program w Bascomie (ATMEGA8) - zajętośc pamięci około 72%. Po czasie nauczyłem się C i napisałem kopię programu w C (Codevision) , program zajął 54%. Pisząc w C bardzo kontrolowałem na każdym kroku wielkość kodu, nie używałem printfa, walczyłem o pojedyncze bajty aby...
Postanowiłem coś napisać by sprowokować wypowiedzi innych :wink: Przyznaję się: w języku C pisałem dawno temu pod DOS-em (Turbo C 2.0) a UART programowałem tylko na 2313. Dobrze, że zamieściłeś cały program, ponieważ posłużył mi za pierwszą lekcję programowania w C na AVR-y. Atmega8 ma bardziej skomplikowany USART niż 2313 ale po przeczytaniu fragmentu...
Teraz jest znacznie lepiej :) Na początek przetestuj sobie poniższy program w CManiaku: http://mikrokontrolery.blogspot.com/p/cm... [syntax=c]//===== ATmega8 - Prosty symulator do nauki języka C ============ #include <dondu/dd_atmega8.h> //Wymagane do symulacji definicji i rejestrów ATmega8 int main(void){ ADMUX...
To nie jest żadne higieniczne podejście ;) to są właśnie zasady dobrego programowania panie kolego. I rzadko kto na początku drogi to rozumie. To, że dla ciebie w trakcie gdy dzisiaj piszesz (1<<1) oznacza że masz do czynienia z Pinem portu PD1 to nic nie znaczy. Dla ciebie samego albo co ważniejsze a z tego też rzadko kto zdaje sobie sprawę,...
Witam, oczywiście cała rodzinka AVR nadaje się do tego o czym piszesz. Tanio można zacząć od ATtiny2313 lub ATmega8. Tylko zrób sobie sam albo kup gotowy programatorek za 15zł - STK200 podłączany właśnie do portu LPT ;) .... zassij sobie program PonyProg najnowszą wersję, będziesz nim mógł bez problemu programować procki poprzez programator STK200 .......
AVR GCC z pakietu WinAVR 20080610 jest bardzo agresywny i przy optymalizacji często nieskończona pętla while(1) zostaje przekształcona w RJMP +0 i... reszta programu jest pomijana! Doświadczyłem tego sam, jak i parę innych osób - nawet na tym fourm. Umieść kod tak, żebym mógł go skompilować, bo jak zwykle nie wierzę. Mam ten kompilator, korzystam i...
opiszesz mi wszystkie instrukcje jakie oferuje Atmega8? Atmega8 to popularny 8-bitowy mikrokontroler z rodziny AVR produkowany przez firmę Microchip (dawniej Atmel). Wyróżnia się on niskim zużyciem energii, prostotą programowania oraz bogatym zestawem peryferiów. Poniżej przedstawiam zestaw podstawowych instrukcji dostępnych w Atmega8. Atmega8 korzysta...
Jeśli tak znasz C jak Bascom to nie istotne czy zaczniesz pisać w C czy w Bascomie czy w czym zechcesz. Po pierwsze to nie Config Portb.0 = Output tylko Config Pinb.0 = Output Po drugie ciekawe czemu tak cho chwilę żonglujesz dyrektywą $crystal 4000000 czy zmieniłeś w ogóle fusebity na zewnętrzny rezonator kwarcowy ??? a jeśli tak to po jaką choinkę...
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
Na prawdę nie wiem jak sobie z tym poradzić. Nie znam możliwości tego języka, .... Ja także :) To może inaczej, jaki język znasz, bo może jest dostępny kompilator dla AVR?
Za dużo pewnie nie pomogę, ale w/g mnie nie ma co się pchać w 8051 zwłaszcza, że się chcesz dopiero uczyć. Zacznij od AVR firmy Atmel, na początek ATmega8. Koszt groszowy, masz 16 milionów instrukcji na sek. Może chodzić nawet bez zewnętrznego kwarcu. Środowisko dla C to WinAVR, symulacja w AVR Studio, tam też chyba jest kompilator assemblera. Ale ja...
http://obrazki.elektroda.pl/9297384400_1... Wstęp Główną przyczyną powstania tej konstrukcji była nuda oraz chęć zweryfikowania, jak poczciwa ATmega8 radzi sobie z software'ową realizacją PWM na wielu wyjściach jednocześnie. Żeby nie było nudno, postanowiłem, że urządzenie powinno mieć śladowe oznaki użyteczności - wybór padł więc na...
Ludzie proszę podpowiedzcie mi: Czy lepiej pisać programy pod mikroprocesory w C czy w assemblerze? Prawidłowo zadane pytanie powinno brzmieć: Czy lepiej zaczynać pisanie programów pod uC od C czy od assemblera? W mojej opinii lepiej jest zaczynać od assemblera, nawet pisząc rozbudowane programy (30k kodu). Oczywiście zgadzam się z opinią rzysiek_k1984...
W wywołaniach masz odwołania do main3 i main4 których nie ma w kodzie. Nie ma gdyż one są prawie identyczne jak te wyżej. Różnica polega na innych zawartościach rejestrów DDRD i PORTD. Napisałem o tym w pierwszym poście: Zamieszczam fragment programu: W całości program składa się z 4 pętli (zamieściłem tylko dwie, żeby zobrazować jak to ma działać)....
AVR to procesory "8-bit RISC" ;) A tak na poważnie to nie mam pojęcia, o czym mowa, dopóki kodu nie zobaczę... Cała impreza opiera się o kompilator, jak podejrzewam, a nie wymieniłeś nazwy twojego ulubionego języka programowania.
Witam, Temat ten jest na tyle ciekawy, że wart jest szerszego opisania. Wcześniej stosowałem układy firmy FTDI w najprostszej postaci czyli jako wirtualny port szeregowy COM. Są również mikrokontrolery AVR z pełnym portem USB, niemniej wiąże to z większym wydatkiem, a wtedy można z powodzeniem sięgnąć po bardziej zaawansowane układy 32 bitowe. Natomiast...
Zdecydowanie nie znajdziesz żadnego przynajmniej darmowego kompilatora Pascala na AVR'y. Jest wprawdzie spore środowisko pozwalające programować w bardzo zaawansowany sposób w Pascalu procków AVR, pewnej niemieckiej firmy, ale cena w postaci kilka tys EU powala na nogi. Jest także microPascal firmy mikroe czy jakoś tak ale ich kompilatory do C, Basica...
[syntax=c]if(ADC4 wykryło coś) { zapal LED1 zapal LED2 } else if(ADC3 wykryło coś) { zapal LED1 zgaś LED2 } else if(ADC5 wykryło coś) { zgaś LED1 zapal LED2 } else { zgaś LED1 zgaś LED2 } [/syntax] Poćwicz w kompilatorze online kurs języka C: http://mikrokontrolery.blogspot.com/2011... Równie dobrze mógłbyś napisać: [syntax=c]if(ADC4...
Witam. Moim problemem jest brak jakiegokolwiek działania tej atmegi w moim układzie. Układ mam zbudowany na płytce stykowej i póki co składa się z konwertera usb-com na atmega8 (ta część działa dobrze-sprawdzane na pętli w hyper terminal-u) i 2 części z ATmegi328p która powinna odbierać sygnał z com-a przejściówki i sterować stacją dyskietek za jego...
Zaintrygowała mnie ta Twoja deklaracja: unsigned char ds1820_rom_codes[MAX_DS1820,9]; unsigned char rom_code[MAX_DS1820,9]; - żaden z moich kompilatorów C, w tym WinAVR, tego nie przetrawi. Jakiego kompilatora używasz :?: Kod programu wygląda na "zapożyczony" i lekko zmodyfikowany, a nie utworzony przez "Polaka" (Ciebie) - ale może się...
Nie powinien tu kompilator wyrzucić błędu że próbują coś pisać do PIN zamiast do PORT aldo DDR? Nie jest to błąd języka C tylko niuans sprzętowy.
Ja bym się nie pchał w 8051 bo to zacofane układy. Powstał w 1980 roku. To że dużo osób na nim pisze, nie znaczy że jest dobrym wyjściem. Polecam AVRy, i nie tiny, bo on nic nie ma, tylko od razu ATMega8. Pisanie, że assembler jest trudny, świadczy o jego nieznajomości. Jest to język którego rozumie sam układ, więc musi być najprostszy. Składnia prosta,...
Widzisz ... powołujesz się na (dla mnie nieco mityczne) standardy C, że nie przywołują itoa() po czym wspominasz o niestandardowych podmiankach funkcji standardowej, co w ogóle z filozofią programowania wg standardów nie ma wiele wspólnego (głęboka zmiana semantyki funkcji). Nie neguję, w realnym programowaniu jest to OK, sam to z rzadka robię, ale...
http://obrazki.elektroda.pl/2943283900_1... Witam wszystkich, przedstawiam ciekawy twór mojego autorstwa oraz kolegi. Mieliśmy zaproponować coś ciekawego, innowacyjnego, a zarazem prostego na zaliczenie. Mając, jak to na studiach, strasznie mało czasu na całe przedsięwzięcie. Zaczęliśmy poszukiwania na forum, z którego teraz my się...
No jedyne co zrobiłem to z kumplem w 8051C zaporgramowaliśmy LCD by napis wyświetlał, zrobione to było w C, kompilator keil. jak powiedizałem chce się uczyć stopniowo... No to początek masz za sobą. Proponuję zrobić konsolkę na ATMega8 (w miarę tani i "mocny" procesorek) z wyświetlaczem LCD. Minimum to procesor i tych kilka drutów z procesora do wyświetlacza....
Dzięki wielkie za pomoc, spróbuję to wykorzystać ;) tak kilka słów wyjaśnienia, procesor jest od podstaw napisany przeze mnie w ramach pracy magisterskiej. Język Verilog, wszystkie układy arytmetyczno-logiczne napisane w opisie strukturalnym,reszta mieszanie. Testuję na razie w fpga Actel AGL250 (ledwo się mieści z peryferiami) ale docelowo ma być wykonany...
no dobra ale moj Pic ma 8 nozek a tutaj w programatorze jest ich 17 :O no i teraz co mam zrobic ?:> Złącze do procesora masz po prawej stronie płytki na zdjęciu i ma ono tylko 6 wyprowadzeń, które musisz doprowadzić do odpowiednich nóżek procesora. 1. Jeżeli kupie już programator stk200 to podłanczam go do komputera i z drugiej strony wkładam uC czy...
Jak dla mnie to powstanie rozbudowany kompilator asm z builderem i będzie szybko pisane i szybko działać :P. Składni ani rozkazów asemblera nie trzeba się uczyć na pamięć, wystarczy mieć pod nosem je wydrukowane, dla np. ATmega8 to raptem 2.1 strony z pdf-a... Aż tyle wiedzy wejdzie samo już po pierwszym programie.
Rozwiązań jest wiele, ale trzeba najpierw zrozumieć problem, a ten nie ma nic wspólnego z przerwaniami i wynika wyłącznie z definicji języka C. Wywołujesz funkcję przed zdefiniowaniem jej - i w tym momencie kompilator tworzy jej domyślny prototyp. Następnie definiujesz funkcję w sposób inny niż to, co sobie wymyślił kompilator - i masz informację o...
w twoim ostatnim programie w przerwaniu wpisz: Disable Int0 Tak yrobiem , dalej procesora nie można obudzić. Gdy usunę komendę Powerdown wszystko działa ok. Dodano po 3 Już nie mam pojęcia co może być nie tak. Może jest to wina kompilatora - 2.0.5.0? Mam pytanie - czy ktoś za np. 100 punktów mógłby przepisać ten prosty kod do języka C i w jego kompilatorze...
Patrząc na to: [syntax=c]if{s=1,d=0,j=0)[/syntax] dam Ci dobre rady na początek: 1. Zacznij od poznania języka C np. z kursu z kompilatorem online CManiak: http://mikrokontrolery.blogspot.com/2011... 2. Później kurs AVR: http://mikrokontrolery.blogspot.com/2011... 3. uporządkuj swój kod,...
Zrobiłem ten program zupełnie od nowa, hmm nie mam pomysłu i działam na "czuja" w oparciu o zbliżone programy. Poniżej wrzucam kod programu, który... nie działa, ale myślę,że jestem blisko i muszę doczytać na temat MUX-ów , ktoś ma jakieś pomysły jak rozgryźć te MUX-y dla 6- ciu wejść (PC0 do PC5) ? Jesteś uparty i niczego się nie uczysz, gdyż nie...
Ja na twoim miejscu zacząłbym od nauki podstaw C, a potem ogarnięcia tego języka na AVR. To po pierwsze, a po kolejne: - do zliczania nie używaj float, wbrew pozorom to nie jest obojętne, czy będzie float, czy int. Poczytaj o tym jak float jest reprezentowany w pamięci, bo możesz się zdziwić, kiedy np. x+1 będzie ciągle równe x. - EEMEM nic nie zapisuje...
Ponieważ dopiero zaczynasz, od razu porzuć BASCOM i zacznij od języka C z tych powodów: http://mikrokontrolery.blogspot.com/2011... Czytaj uważnie i rozważ każdy argument. Kurs C z kompilatorem online i przykładami: http://mikrokontrolery.blogspot.com/2011... Kurs AVR: http://mikrokontrolery.blogspot.com/2011...
Ocyzwiście że nie działa - zamast kilku tablic tabtempP zadeklaruj jedną dwuwymiarową - wtedy zadziała. AVR studio, a dokładniej kompilator, rozumie wszytskie zapisy języka C, o ile są poprawne. Masz źle zaprojektowane dane i algorytm. Uporządkuj to, a całość wejdzie pewnie i w ATmega8.
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
Kilka uwag w przypadkowej kolejności 1. Nie bój się C++ - niekoniecznie cała biblioteka standardowa jest optymalna i właściwa na uK, ale jest wiele kochanych ficzerów samego języka. a) niepubliczne pola i metody - to ci się bardzo przyda, jak chcesz mieć architekturę b) konstruktory, w tym obiektów statycznych (moduły mogą się rejestrować do modułu...
Witam wszystkich, Tak jak w temacie: Poszukuje sprawnego programu aby zrobić zegar LCD na ATMEGA8. Program musi być w języku bascom. Znalazłem coś takiego ale nie działa :/ Opoźnienie sekundy wynois jakies 4s 'Program zegara wykorzystującego przerwania od Timer1 'Przerwanie przepełnienia Timer1 jest generowane co 1 s '8 MHz/256/31250 = 1 s 'Przycisk...
Witam Próbuje zrobić zegar z książki Marcina Wiązania "Programowanie mikro kontrolerów avr w języku Bascom" Przepisałem cały program z książki, podłączyłem według schematu http://obrazki.elektroda.pl/8287318100_1... , i niestety na lcd pojawiają się kwadraciki. Programator mam usbasp, i program mkAVRCalculator. W zakładce fusy uproszczone...
Tak prosto to się nie da. Musisz zrobić tak: 1. Pełny cykl licznika zmieniającego się co sekundę, określa pełny cykl zmian świateł na całym skrzyżowaniu. 2. Na wyjściu licznika jest dekoder z tyloma wyjściami ile jest lamp na skrzyżowaniu (przy założeniu pełnej niezależności sterowania światłami czyli bez uproszczeń typu, że jak na jednym kierunku zielone...
Witam chciałbym poprosić o pomoc w dwóch tematach; 1. Jaki kompilator (najlepiej IDE) używać do 'c' 2. Czy taki zestaw wystarczy mi do rozpoczęcia "przygody" z Uc; Atmega8 + Programator ISP USBasp ATMEL AVR + Taśma + Przewody Zworki męski-żeński (zamiast podstawki) + IDE (czy to wystarcz aby zaprogramować pierwszy układ?) Może macie jakieś podpowiedzi...
bascom kompilator dobra kompilator cross kompilator
livebox router bezprzewodowo makro przycisk access kolumna kruger
renault mascott renault mascott
Safely Discharge DJI Batteries with Arduino Przepalanie bezpiecznika nr 16 w Volkswagen Touran