do asemblera i C masz kilka książek w wydawnictwie BTC proponuję "Mikrokontrolery avr atmega w praktyce" Rafała Baranowskiego .Świetna książka sporo opisów i przykładów napisana przystępnym językiem w odróżnieniu od wielu gniotów których pewnie nawet autorzy nie rozumieją do końca ...
No dobra, udalo ci sie polechtac moja proznosc wiec moze zrobimy tak. Opisze tutaj przykladowego mekafile-a z nastawieniem na WinAVR, Atmega8 i STK200 tak aby inni tez cos z tego mieli. W zasadzie wszystko jest opisane w angielszczyznie no ale jakby kto nie umial to daje po polsku. # Hey Emacs, this is a -*- makefile -*- #---------------------------------------...
Jeżeli dobrze pamiętam: ldi r31, high (sinus * 2) ldi r30, low (sinus * 2) lpm
Rozumiem, korzystając z okazji jakie są dobre praktyki do tworzenia timeoutów? Może jakiś przykład? Wiele osób tak robi, więc uznałem to za rozwiązanie poprawne Przykład pierwszy z brzegu https://gist.github.com/rms95/5887356
potrzebuje z tego jeszcze schemat blokowy !
Ale jest EOR, który robi za XOR ;)
Używając etykiet w .eseg nie zastanawiasz się nad fizycznymi adresami, robi to za ciebie kompilator. Tym niemniej aby operować na tych danych należy oczywiście użyć "okienka podawczo - odbiorczego" w EEDR, zgodnie z notą katalogową ( http://www.atmel.com/dyn/resources/prod_... ). Wszystko z .eseg ląduje w pliku .eep, którym możesz za...
To assembler czy bascom? Może też napiszesz jaki to procesor bo atmega nie za wiele mówi. Jak assembler to szukasz zestawu instrukcji dla swojego procesora i rzeźbisz. Przykładowy zestaw instrukcji (może to będzie nawet ten): http://www.atmel.com/webdoc/avrassembler... Pozostaje mi życzyć powodzenia i wytrwałości bo...
Jeśli jesteś całkowitym początkującym to zacznij od przerobienia przykłądów http://mikrokontrolery.net/avr_kursy.htm... poczytaj tematy na elektroda.pl uzywajac szukaj ( hasła asembler avr). Poczytaj również posty w temacie http://forum.mikrokontrolery.net/viewtop... , ściągnij sobie ze strony atmela noty katalogowe avrów np. http://www.atmel.com/dyn/resources/prod_...
Wówczas takie programowanie przestaje się znacząco różnić od zwykłego C. Tia... a tworzenie zmiennych, zmienianie ich rozmiarów i dynamiczna alokacja pamięci są nawet prostsze (; Do niektórych zastosowań assembler ma sens, ale tych zastosowań jest coraz mniej - niestety lub stety - zależy co kto lubi. Ja początkowo uważałem, że assembler jest najlepszy...
A działa? Bo ciekawy jestem a zaraz muszę wychodzić ;) A co do programu to on jest w assemblerze. A nieumienie assembera to (prawie) żadna niewiedza. PS. Assembler będzie twierdził co innego ;)
Myślę że mocno przeceniasz xmegi. Myślę, że nie. W zasadzie konfigurowalność GPIO w xmega chyba jest nawet lepsza niż w STM32. ADC oczywiście, STM32 w niektórych można użyć interleaved mode i mieć powielony sampling rate. Tego xmega z tego co kojarzę nie ma i raczej mieć nie będzie. Ale tu ~2msps, tam ~2msps per ADC, tu 12 bit, tam 12 bit. Jak dla...
Witam Panowie... potrzebuję zrobić kilka programów. Chodzi o programowanie mikrokontrolerów AVR w języku assembler. Jakie poradniki polecacie, jakie programy symulacyjne. Nam osobiście wykładowca polecał książkę Pana Rafała Baranowskiego - Mikrokontrolery AVR ATmega w praktyce Do do programu .... Atmel Studio Z poradników znalazłem coś takiego... http://www.forbot.pl/forum/topics20/kurs...
(at)janbernat: Zupełnie nietrafiona odpowiedź. int8_t i; if (i < 0) { ... } // albo if (i & 0x80) { ... } Obydwie linijki robią to samo, obydwie zapewne skompilują się do takich samych rozkazów (ewentualnie adekwatnych, zajmujących tyle samo miejsca i cykli), ale z pierwszej coś wynika, a druga oznacza tylko tyle, że piszący chciał pokazać czego...
zobacz sobie www.propox.com ja u nich kupiłem płytkę EVBavr02 z atiny2313 + programator na port drukarki. Razem wychodzi jakieś 180 cośtam zł. Książki kup sobie w zależności od języka, w którym chcesz programować. Np. J. Doliński "Mikrokontrolery AVR w praktyce" - programowanie w C R. Baranowski "Mikrokontrolery ATmega w praktyce" - assembler jest jeszcze...
Zobacz application note 335. A wracajac do BASCOMa, skoro jak piszesz masz zamiar przejsc na c to BASCOM byl strata czasu i o to mi wlasnie chodzi. Ludzie zaczynaja od tego jezyka, a potem sie okazuje, ze to byl stracony czas bo i tak trzeba przejsc na cos innego, jest to poza jakimkolwiek standardem ANSI itd. W dodatku przy wiekszych aplikacjach nie...
Witam Szanowne Grono Specjalistów Zdecydowałem się zamieścić w tym miejscu moje pytanie bo sam nie jestem pewny gdzie się zgłosić - proszę o wyrozumiałość. Chciałbym nauczyć się wykorzystywać mikroprocesory w swoich jakiś tam projektach. Zależy mi na nauce w asemblerze - w tym czuję się dobrze (bawiłem się tym w C-64). BASCOM odpada po zapoznaniu się...
po to sie uzywa jezykow wysokiego poziomu, zeby sie nie bawic takimi rzeczami. skoro znikaly ci w EEPROMie zmienne, to znaczy ze cos pomieszales w programie (albo bascom cos pomieszal Nie chodzi o nadpisanie przez kompilator zmiennych tylko o to czy atmega z nimi czegoś nie zrobi. Tak jak wyżej wspomniano, w atmegach jest problem z EEPROM. Najczęściej...
Wstawki? To jest tylko assembler ;p Sclk = 0 lds R24, {A+1} ldi R17, 8 !8razy_1: lsr R25 bst R24, 7 In R16, PortB bld R16, 2 //PortB.2 = MOSI bld R25, 3 //PortB.3 = MISO !Out PortB, R16 nop Sclk = 1 lsl R24 Sclk = 0 inc R17 brne 8razy_1 sts {B+1}, R25 lds R24, {A+0} ldi R17, 6 !6razy_2: lsr R25 bst R24, 7 In R16,...
Witam Temat prosty ile kosztuje napisanie prostego programiku w c/c++, bascom, assembler lub tez innym języku na procesory PIC (8bit), ATMEL(od najmniejszych do np: ATMEGA 32)... Prostego czyli nie więcej jak 1K programu z opracowaniem prostego algorytmu Średniego programu około 2-3K z opracowaniem algorytmów + obsługa np RS lub PWM proszę o jakieś...
A właśnie zapomniałem ci napisać że ICL byl zasilany napięciem + 12V Pozdrawiam Nie ma sprawy zauważyłem to oglądajac notę, -12V z powietrza się nie weźmie :) To niestety nie pierwszy byk jaki się tutaj trafia :) Możesz mi kolego nieco rozjasnić we łbie. Dla typowego wyświetlania w trybie tekstowym trzeba zdefiniować dwie warstwy, dla górnej i dolnej...
Witam. Chciałem sobie wgrać bootloader z tematu do ATMEGA324P i mam problem. Zmieniłem dane na: // Parametry do modyfikacji przez użytkownika: .INCLUDE "m324Pdef.inc" ; SEGMENT DEKLARACJI .EQU OSC_FREQ= 16000000; częstotliwość pracy w Hz .EQU RS_BAUD= 115200 ; prędkość transmisji dla RS-232 [bps] .EQU TYP = 24 ; typ procesora /*...
co napisaliscie jako swoj pierwszy program na dany uC w danym jezyku (rozbudowy sie licza, byle by wciaz byla to ta sama baza) n. n. - literka, cyferke z przodu dodam sam. zachowujcie chronologie w swoich dokonaniach na roznych platformach jezykowych i sprzetowych, tak aby to mialo sens! ____________________ 0x1-a. Freddie Chopin - migacz diodkami o...
pytanie jak dla troli, bo porownujesz procki 8b z 32b potworami o 100x wiekszej wydajnosci. pamietaj pozatym, ze poza PIC16 i PIC18 sa jeszcze PIC24 i dsPIC30/33, ktore zjadaja AVRy na sniadanie, maja 3x prostszego assemblera i 10x takie mozliwosci. jednostronne plytki do ARMow? takie rzeczy to tylko w Erze [; ARMy zastepujace AtMege 128? nie no prosze......
Witam Jako że niestety spaliła mi się karta teleVGA postanowiłem wy myśleć inne rozwiązanie na obsługę TV lub monitora. Na elektrodzie było sporo tematów jak podłączyć telewizor bądź monitor pod mikroprocesor. Jedne z wykorzystaniem karty graficznej od PC ale niestety nikomu się chyba nie udało Ja znalazłem taki właśnie projekt na atmega 168 niestety...
Wybacz Kolego ale można się załamać - nie znasz podstaw programowania! Weź sobie jakąkolwiek książkę do C i przeczytaj chociaż KILKA PIERWSZYCH ROZDZIAŁÓW... Bardzo uprzejmie proszę. Forum nie jest od nauczania C, nawet na przykładach! Najprostszy program ma postać: #include <stdlib.h> #include <stdio.h> int main(void){ sleep(1);...
Moje problemy odbiegają od poprzedników ale temat zgodny, więc: Mam uP Atmega 8 oraz wyświetlacz zgodny z hd47780 2*16znaków. Gdy wrzucam jeden znak na wyświetlacz przy pomocy kodu niżej wszystko jest ok: while(1) { LCD_CLEAR; LCD_LOCATE(1,0); LCD_WRITE_DATA('d'); } return 0; } Mogę kilka takich znaków wrzucić...
Witam, mam problem z kompilacją programu.(pliki ogolnodostępne dla projektu LED CUBE 4x4x4), :arrow: http://www.instructables.com/id/LED-Cube... Posiadam pliki main.c frames.c effect.c draw.c oraz plik Makefile. Odpalam AVR Studio, ustawiam procesor ATmega 16, ustawiam zegar 14745600 bo taki jest uzyty w programie, laduje wszystkie pliki (procz...
Witam serdecznie! Na wstępie powiem że procesor atmega nie widzę pierwszy raz, jednak pierwszy raz zabrałem się za programowanie Atmegi32 i właściwie można powiedzieć że to mój "pierwszy poważny raz". Pomysł wziął się stąd że zapragnąłem posiadać fabrycznego pilota sterowania radia z pod kierownicy w Renault Clio II ph 2 1.2 8V (notabene bardzo ekonomiczne...
Aby sprawdzić czy optymalizacja zmieniła kod uruchom debugowanie w AVR Studio i zobacz podgląd kodu assemblera poprzez menu View/Disassembler.
No to książka Rafała Baranowskiego z BTC "Mikrokontrolery AVR Atmega w praktyce" :) Gorąco polecam:)
gdyby to było takie proste to nie pisałbym o tym na forum, ja potrzebuję czytać pozycje przy pełnej prędkości i to bezbłędnie bez żadnych przekłamań... Maksymalnie schrzaniłeś hardware, teraz to już Cię nic nie uratuje. Do zliczania trzeba było wykorzystać ten większy Timer, a do wykrywania zmiany kierunku przerwanie. Pięknie by to chodziło a procek...
Jeżeli nie jest on zabezpieczony przed odczytem (ustawiona blokada za pomocą Fuse Bitów) to jak najbardziej możesz odczytać zawartość jego pamięci. Jednak będzie to surowy, skompilowany obraz. Możesz go zdekompilować za pomocą np. IDA, ale ostrzegam, że uzyskasz z tego tylko kod assemblera.
Zanim zaczniesz używać asemblera wypadałoby poczytać trochę o tych komendach, co one oznaczają i jak ich używać. Jeżeli używasz assemblera jako wstawki w C, to mnemoniki typu MCUSR nic kompilatorowi nie mówią - musisz używać adresów. Z kolei komenda LDn ma z kilkanaście swoich wersji i powinieneś sprawdzić którą używasz i dlaczego. Jeśli już ładujesz...
Za pomocą jakich instrukcji w assemblerze mogę zapisywać coś do rejestrów R0-R15 ? Masz na myśli zastąpienie załadowania bezpośrednich wartości np. ldi / cbr / sbr r0, 0xD5 (nie istnieją !) ? Jest tego trochę ;) (na przykładzie r0 , r16 i wartości 0xD5 ): ldi r16, 0xD5 mov r0, r16 ldi r16, 0xD5 push r16 pop r0 Można także zatrudnić w/g własnej pomysłowości...
Programowe generowanie sygnału video w jakimkolwiek standardzie jest zadaniem krytycznym czasowo, dlatego bez asemblera niewiele zwojujesz. Nawet w asemblerze trudno uzyskać więcej niż 100 punktów w linii. Zresztą zerknij na: Rejestrator przebiegów cyfrowych - przystawka do TV z EP Rejestrator przebiegów analogowych - przystawka do TV z EP Nie jest...
Witam!! Najlepiej to wziąść sie za jakiegoś Atmega np. uniwersalnego ATmega 128. Można w fajnej podstawce kupić w firmie www.propox.com za parę złotych. Ale zależy co ma wykonywać projektowany układ. Do prostych gdzie nie wymagane są obliczenia tylko operacje proste na portach to pasuje '51, a jeśli o szybkość obliczeń, moze wyświetlacze graficzne LCD...
Problem jest w tym że tablice są umieszczone od 0x40 (org 0x40) w pliku WaveSmpl.asm a przy starcie masz skok do procedury RESET i RX_COMPLETE_INT .org 0 rjmpRESET .org URXCaddr rjmpRX_COMPLETE_INT więc skok musi być wykonany przez tablice a jak dodajesz jeszcze jakieś tablice to ten skok jest za długi. usuń .org 0x40 ; Flash word address w pliku WaveSmpl.asm...
W jaki sposób chcesz wgrać program w assemblerze 8051 do AVR (Atmega). To dwa kompletnie różne mikrokontrolery. Oparte są o inny rdzeń procesora. Przykładowo - w ATMEGA AVR nie ma instrukcji SETB. Porównując do samochodów - to tak jakbyś do silnika Diesel'a wlał benzynę. Pojedziesz? ale gdzie?
Ja w kodzie widzę 5ms. co daje 200Hz
piszesz funkcje w ASM pamietajac o tym ktore rejestry uzywane sa do przekazywania parametrow, ktore mozesz zmienic, a ktore musisz zachowac (instrukcja do kompilatora gcc wyjasnia ta kwestie, jest to rowniez poruszone w FAQ dla AVR-GCC). dolaczasz do projektu plik naglowkowy, w ktorym podajesz prototyp funkcji: extern uint8_t funkcja(uint8_t parametr);...
Na elektrodzie przewijają się tematy obsługi CF/SD przez mikrokontrolery, swego czasu w EP był kurs z przykładami, znalezienie bibliotek w internecie to też nie problem, ale większość będzie raczej w c niż w assemblerze. Od strony PC nie ma problemu, bo PC widzi CF jako zwykły dysk...
9 miejsc znaczących
Wstawki asemblera tak ale C już nie.
dzieki za cenne rady. jesli chodzi jednak o assemblera to nie mowie ze jest trydny i juz napewno nie jest mi obcy, ale w bascomie poporostu bede musial kodowac. Chodzi o to ze we wrzesniu (ostatni miesiac wakacji studenta :) ) bede mial praktyki w firmie ktora zajmuje się tym i wlasnie oni nakazali mi zapoznanie się z tym modelem mikrokontrolera i...
W asemblerze wstawiasz : etykieta: .db "Jakis napis",0x0a,0x0d,13,12,0 .db "dalsza czesc tego samego napisu" itd. a wyciagasz z flasha: ldi zh,HIGH(etykieta<<1) ldi zl,LOW(etykieta<<1) lpm acc,z (lub z+) Ten napis w "" zostanie przekonwertowany na znaki ASCII. Jesli kody twoich liter nie sa...
Mi się wydaje że nawet 20 kanałów spokojnie pójdzie. Ale raczej przerwanie to w assemblerze by musiało być.
Ja posiadam "Projektowanie systemów mikroprocesorowych" P. Hadama. Chodź książka skupia się na układach zewnętrznych (wyświetlaczach, przekaźnikach, klawiszach itp.) to są w niej przedstawione procedury sterujące w języku C. Jeśli chcesz się dokładnie skupić na µP to "Mikrokontrolery AVR ATMega w praktyce" Baranowskiego, ale tam wszystko jest...
Jest co najmniej kilka języków, w których można programować uC Atmega. 1. assembler 2. Basic (Bascom) 3. C 4. Pascal
c) chodzi dokładnie o to co napisałeć, plus dodatkowo - skoro napisali w treści, że to call jest pod adresem 0x100 to zapewne autor oczekuje jeszcze, aby napisać jaka wartość znajdzie się na stosie. Tu mały problem w AVR - przestrzeń FLASH adresowana jest w słowach, więc adresy bajtowe trzeba pomnożyć razy 2. c) i d) można się jeszcze zastanowić o ile...
Piszę w assemblerze pod Atmega16.
Wiesz programowanie w "C" to wystarczy że znajdziesz odpowiedni kompilator żeby zapisał Tobie program zapisany w "C" na język maszynowy. Ja niestety Tobie w tym nie pomogę bo osobiście wolę Assembler'a. Jak będziesz miał już plik *.hex (w języku maszynowym po kompilacji) to wgrasz to sobie do uC. Podałem Tobie rozwiązanie z AtMega bo w sumie do "C"...
Tak. To jest czcionka. A wiesz skąd? Z BASCOMa. Bo taka mi się spodobała. Tylko że zamiast niektórych znaków są znaki specjalne. Znak stopnia i znak fi. I chyb a co jeszcze. No niestety. Assembler ratuje skórę czasami i dlatego go stosuję. Program jest dość nietypowy. Nie wystarczy zmienić definicję pinów na początku programu. Więc albo podłącz tak...
Chodziło mi o oba HEXy :D Choć ten z assemblera w sumie niewiele podpowie. W ogóle to trzeba spróbować jakiś bardziej skomplikowany program w assemblerze. Nawet jakieś byle instrukcje bez sensu (nic nie robiące). Chodzi o to żeby sprawdzić poprawność programowania (weryfikowania). Bo puki co to ten program w assemblerze jest bardzo krótki i być może...
Dokumentację już znalazłem. Może ktoś ma sprawdzony sposób zapisywania i odczytywania danych na tej karcie z poziomu BascomAVR albo za pomocą innego środowiska np. Assembler?
Nie analizowałem dokładnie, ale sądząc po rozszerzeniach (*.S) to wygląda raczej na wstawki assemblerowe do kodu w C. Zauważyłem też, że kod korzysta z przerwań, więc nie będzie kompatybilny z ATmega168. Atmega88 do wektorów korzysta z instrukcji RJMP , natomiast ATmega168 - z instrukcji JMP . Użycie tego samego pliku *.hex - moim skromnym zdaniem -...
(at)grysek Komunikacja z SD odbywa się przez interfejs SPI. Jedyne co zrobiłem to aktywacja trybu SPI pomiędzy kartą a ATmegą oraz procedury wysłania i odbierania danych poprzez SPI. Nie wiem jak ugryźć ten FAT. (at)francus Przeszukując internet natrafiłem na te biblioteki, jednak one są w języku C. Czy da się to jakoś przetłumaczyć/przerobić lub używać,...
MUL a ATMega jest, potwierdza to Atmel
1. Eliminacja niepotrzebnych skoków tu i tam. Da się to zrobić inaczej - patrz CPSE, SBIC, SBIS. 2. Brak podstawy czasu - impulsy nie będą zawsze równe w czasie. Użycie licznika bardzo wskazane. 3. Brak synchronizacji zmiany stanów na portach - możliwe przesunięcia fazowe. 4. Skąpe komentarze. Za dwa dni nie będziesz wiedział co, jak i dlaczego tak.
Pomnóż przez 405 i podziel przez 1000. Jak 0.405 jest stałą to pomnóż przez 0.405x1024=415 i podziel przez 1024 co jest łatwe do zrealizowania (tylko przesunięcia bajtów). Inne opcje: http://www.avr-asm-tutorial.net/avr_en/c... Pzdr. N.
Wszyscy są ludźmi i nie wszystko wiedzą, ale to raczej nie powód, żeby od razu stwierdzać o kompletnym braku wiedzy? Nie wszystkich uczyli C na studiach... Studia nie mają nic do tego, szczególnie gdy ktoś się sam za coś zabiera - należy to robić porządnie :wink: Prześledziłem i kombinowałem z wszystkim co znalazłem w sieci, lecz nic z tego nie działało:/...
WITAM! Chciałbym prosić o podanie (jeśli istnieje) komenda na losowe wybieranie podprogramu z jakies "puli". Chodzi oto ze sterując AtMegą kilkanascie diod che aby one się losowo zapalały nie w kolejności jakiej ja Je ustawie. Program pisze w AVR STUDIO 4 w języku Assembler'a Z góry dzięki za odpowiedzi/podpowedzi
Dowiedziałem się, że to tych rejestrów trzeba dostać się przy pomocy funkcji LDS/STS... Jak piszesz w C nie musisz się o takie rzeczy martwić. To zadanie kompilatora dobrać odpowiednią instrukcję. Przeszukałem forum i google ale są tylko przykłady dla assemblera, nic dla C. Na pewno są też dla C, ale podam jeszcze raz: // kasowanie bitu 5 (bit...
(at)fabjan1994 Na moje oko to proces budowania nie działa popawnie (compilation termiated). Problem tkwi w powłoce sh . Tu masz rozwiązanie problemu: http://www.avrfreaks.net/forum/windows-8... A tutaj Twój makefile po lekkim formatowaniu. Działa bez problemów: [syntax=bash] # Hey Emacs, this is a -*- makefile -*- #---------------------------------------...
Witam. Musze wykorzystac ten uC do probkowania napiecia. Niestety nie wiem jak zainicjalizowac w nim przetwornik A/D oraz jak ograniczyc przedzial napiec, zeby zwiekszyc dokladnosc (moj przedzial to 2,5 - 4V). Musze napisac to w assemblerze. Jezeli ktorys z grupowiczow pisal kiedys cos takiego to bardzo prosze o pomoc. Z gory dzieki.
Jak by ta optymalizacja nie była (niektórych ciężko zadowolić) to jest i to spora a zmiany w źródłach kosmetyczne. Ja coś pokazałem, teraz czekam na innych i zacznę (niektórych bardzo surowo) oceniać. Uważasz że wszyscy powielają Twoją obsesję 1-wire? Chodzi mi o przykłady optymalizacji, jakiekolwiek. Ja, jako początkujący amator (pytania związane...
Po pierwsze, to wcale nie treba tych pakietów nigdzie odsyłać. Z opisu wygląda na to że ma to być raczej "monitor" sieci, a nie urządzenie "aktywne". Wystarczy w monitorowane połączenie wstawić urządzenie typu "hub" i wtedy całość ruchu będzie można oglądać na dodatkowym połączeniu z niego. Po drugie, "czysta" implementacja stosu TCP/IP do niczego się...
Nie wiem jak w BASCOMie to zrobic (kto w ogole pisze programy na procek z 256kB FLASH w tak dziwacznym jezyku?), ale jesli BASCOM wspiera kompilacje pod konkretny adres i odwolania do funkcji przez wskazniki (to mozna zreszta zrobic za pomoca wstawki w assemblerze), to najprosciej te funkcje umiescic pod jakims znanym z programu glownego adresem, przy...
Witam A czemu znowu Bascom dziwny? Wystarczy zaglądnąć do manuala aby zobaczyć jak się robi wstawki w assemblerze. $asm ...... ...... $end asm Pozdrawiam
Witam, uczę się programować w assemblerze z książki ,,Mikrokontrolery AVR Atmega w praktyce" ale jednej rzeczy nie rozumiem (albo mi sie wydaje że nie rozumiem) Nie wiem jak włączyć rezystory podciągające ale coś tam kombinowałem oto co wykombinowałem: cbi DDRB, DDB1 ;tryb wejściowy linii 1 portu B cbi PORTB1, PB1 ;włącz podciągnięcie linii 1 portu...
Bascom nie da sobie z tym rady, C też nie da rady bez wstawki assemblerowej, W wartym 5zl ARM klasy STM32F030F4P6 masz 5 kanałów DMA którymi ogarnąłbyś problem tak po prostu. A z czego Ty chcesz te DMA wyzwalać? W przerwaniu bez wstawki assemblerowej też sobie z tym nie poradzi. Coś nie chce mi działać, wgrałem z kompilowany hex do procka i restartuje...
Najlepiej zrób coś takiego samemu, wyniesie cię to najtaniej i będziesz miał to czego szukasz. Jak na początek widzę że nie masz wielkich wymagań, dzięki temu twój zestaw powinien zamknąć się w 100 zł. Jako mikrokontroler na początek polecam ATmega8 na jego temat znajdziesz w sieci mnóstwo informacji, łatwo go programować ( programator to wtyczka do...
Jest dodatek do AVR Studio pozwalajacy symulowac wyswietlacz, klawiature itp. nazywa sie to HAPSIM http://www.helmix.at/hapsim/ Tak samo jest bardzo fajny VMLAB (juz darmowy - niestety nie rozwijany) http://www.amctools.com/vmlab.htm Moim zdaniem VMLAB lepiej sobie radzi niz wbudowany w AVR Studio symulator. Juz mialem kilka przypadkow ze symulator...
Witam, Pierwszy błąd, który wychwyciłem to brak zachowania i odtworzenia rejestru stanu procesora SREG we wszystkich obsługach przerwań. Należy również zadbać o zachowanie używanych rejestrów (R0-R31). Zobacz ci się stanie np. w takim przypadku: CPI R16,10 ; tutaj przychodi przerwanie które zmienia stan SREG (znaczniki Z,C ...) BRNE xxx LDI...
obstawiam, że to będą piny PC2-5 (domyślnie załączony jtag w fusebitach). Jeśli masz więcej takich problemów, to pisz do mnie na gadu - z miejsca postaram się pomóc... i nie zwalaj odrazu winy na AVR Studio - przy takich prostych rzeczach niema się co wysypać - mi się nigdy nic nie działo.
Działa ;-) Ustaw Breakpoint na linijce (prawy myszy Toggle Breakpoint) [syntax=avrasm]com LED[/syntax] naciśnij F5 (Run) jak zatrzyma się na Breakpoint wykonaj kod przerwania krokowo F11 naciśnij F5 (Run) jak zatrzyma się na Breakpoint wykonaj kod przerwania krokowo F11 itd. Zamiast 15625 ładuj do OCR1A 15624. Wieczorem wrzucę inny sposób migania tym...
jeżeli programujesz w bascom (a nie assembler) to proponuję jednak Atmega AVR. O wiele wygodniejsze w programowaniu jak już kolega pisał. Tylko podpinasz programator do układu w którym pracuje mikrokontroler i możesz programować.
Dzięki. A ile cykli zajmuje: eeprom_read_byte ? I jak wygląda eeprom_read_byte w assemblerze ?
Atmega jeszcze mogła by być ale co do assemblera to dziękuje adaptować biblioteki baskoma do assemblera :)
Witam Z góry przepraszam za mały offtopic ale czy ktoś próbował tymi modułami (RFM01 i RFM02 - NIE RFM12!) sterować z poziomu 8051 zamiast atmegi? jeśli by ktoś dodatkowo próbował coś skrobać w assemblerze odnośnie tych modułów to proszę o kontakt
Zaintrygowany Qmexx postanowiłem dorzucić beczkę dziegciu do tej łyżki miodu niemniej kolega mnie uprzedził i zamknął temat. Chciałbym zapytać o jeszcze dwie dziwne przypadłości z którymi się spotkałem w czasie mojej zabawy z avrgcc. 1. xpos = (xpos%8); i voila! Kompilator potraktował zmienną i operacje na niej jako char. Czemu wcześniej nie chciał?...
$katalog_WinAVR$/doc/avr-libc/avr-libc-u... Tworzysz osobny plik w asemblerze (.S, nie .s) zawierający procedurę obsługi przerwania, kompilujesz do pliku .o i linkujesz z pozostałymi plikami. W dołączanym wo WinAVR szablonie Makefile jest przewidziane miejsce na wypisanie źródeł w asemblerze (ASRC = $tu wpisz nazwy plików$). Przykład,...
No tak, ale wtedy otrzymasz wygenerowany przez kompilator zupełnie inny kod assemblera, stąd program jak i symulacja nie będą odpowiadać wersji końcowej.
Witam, Potrzebuję wycisnąć a ATmegi32 maksymalną prędkość ADC. znalazłem wiele artykułów, i w większości z nich zrobione są wstawki w języku Assembler, dzięki którym Atmega korzysta tylko z 8 bitów przetwornika. Wiem że ustawia się to bitem w rejestrze "ADLAR", ale niestety całość musi być napisana w ASM, bo Bascomowa komenda "getadc()" i tak konwertuje...
Kompilowane pod asemblerem AVRasm2 od najnowszyego AVRStudio. Przeznaczenie pliku eep jest do wewnętrznego EEPROM mikrokontrolera, bez jego zaprogramowania robocik ma prawo wariować, z tego co wyczytałem w pliku źródłowym. To nie jest pod WinAVR, ewentualnie avrdude, ale trzeba czytać dokumentację jak się programuje EEPROM. Polecam : http://www.amwaw.edu.pl/~adybkows/elka/i...
Ad. 1 Nie, ale zapewne potrzebna będzie pamięć zewn. dla uP Ad. 2 Tak jak tu np. http://www.propox.com/products/t_124.htm... Ad. 3 O największej możliwej częstotliwości czyli 16MHz Ad. 4 Długości ścieżek nie mają znaczenia Ad. 5 Tak, można zastąpić Ad. 6 Bez problemu można użyć C, ewentualnie C + assembler
Można o link zestawu uczelnianego ?? Są jakieś zniżki dla Uczelni lub Studentów ? Raczej tylko zainteresowania, może jakiś związek z pracą inżynierską... Więc rekomendowałbym chyba taki sam zestaw. Ten semestr programowaliśmy w assemblerze, mamy jeszcze programować w C.
proszę bardzo: .include"m32def.inc" .cseg .org 0 .def acc=r16 ldi acc,HIGH(RAMEND) ; Definicja stosu out SPH,acc ldi acc,LOW(RAMEND) out SPL,acc ldi acc,0b00000000 out DDRA,acc ;wszystkie bity jako wejscie ldi acc,0b11111111 out PORTA,acc ;wszystkie wejscia w stanie wysokim out DDRB, acc ;wszystkie bity jako wyjscia ;ldi acc,0b11111111...
(Trochę mnie ten AREF podpięty do masy przez kondensator martwi, czy to nie ma czasem wpływu... może zamiast tych 2.56V wewnętrznych wlutować zewnętrznie kabelek z 5V w miejsce nogi AREF?) Wręcz przeciwnie tak włączony kondensator poprawia stabilność napięcia odniesienia dla przetwornika ADC. Sprawdź co pisze o tym w datasheet tego mikrokontrolera...
A nie za dużo wymagasz? Schemat masz, a w assemblerze programu nikt nie ma. A specjalnie dla Ciebie nikt pisał nie będzie.
W BASCOMie nie da rady - przynajmniej czystym. Musi być co najmniej mały fragment w assemblerze, żeby zlikwidować jitter przerwania AVR. Reszta też by się przydała w assemblerze, bo liczba taktów na linię jaka jest do dyspozycji nie jest imponująca. A co do łączenia - masz H i V-Sync, które są liniami cyfrowymi i po prostu je łączysz z MCU - mały rezystor...
Dziękuję ale interesuje mnie również zagadnienie programowania mikrokontrolerów AVR w C bo chyba nie wystarczy znać sam język (dla pc) żeby programować procsory ale może się mylę. po prostu widzę w przykładowych programach w C dla AVR prostotę w porównaniu do ASM a nie chcę się nim posługiwać w sposób podobny do assemblera czyli robić wszystko na piechotę...
Może nie stricte z tematem, ale miałem podobną sytuację na początku swojej zabawy z mikrokontrolerami. Pisałem programy w bascomie na 51 i na Avr i dla przyśpieszenia działania robiłem wstawki w asm. Po pewnym czasie moje programy wyglądały tak [syntax=c] $ASM Kod programu $ENDASM [/syntax] Wtedy doszedłem do wniosku że używanie bascoma nie ma sensu...
Witam. Zakupiłem ostatnio zestaw uruchomieniowy ZL3AVR z procesorem ATmega32 i programator ZL2PRG. Czy wspomniana tu książka porusza temat uruchomienia zestawu, krok po kroku, od podstaw? Mam tu w szczególności na myśli ustawianie fusebit'ów, sposób ich ustawiania. Dodam, że chciałem zacząć od Bascom'a, dalej przesiadając się na inne języki, w szczególności...
Literatura do Bascoma to zdaje się jedna książka M. Wiązani. Do assemblera lub C na AVR można znaleźć dobre książki. Sam korzystam z "Mikrokontrolery AVR ATmega w praktyce" Rafała Baranowskiego oraz "mikrokontrolery AVR w praktyce" Jarosława Dolińskiego. w Pierwszej są przykłady w assemblerze, w drugiej w C. Ja uczyłem się najpierw assemblera, teraz...
Pisząc w C tego nie wiesz i wiedzieć nie będziesz (chyba, że zajrzysz w wygenerowany przez kompilator kod assemblera - co swoją drogą jest czasami przydatne). Nie wiem jak daleko działa REGISTER, ale prawdopodobnie kompilator patrzy bardziej na to jak na mocną sugestię niż 100% wymuszenie, bo co by zrobił gdybyś zrobił 20 zmiennych int jako REGISTER?...
Simon stworzenie własnego sterownika rzeczywiście daje sporo satysfakcji. Chciałbym go jeszcze wykorzystać do sterowania jakimś prostym układem, bo do tej pory testowałem go tylko na biurku podłączając na wyjście niewielki wentylator. Co do konstrukcji to masz rację - jest minimalistyczna, ale właściwie to takie były moje założenia. Nie zamierzam wyprzeć...
Program napisany jest w assemblerze, do obioru RC5 przerobiłem trochę gotową bibliotekę z książki "Mikrokontrolery AVR ATmega w praktyce" A co do wyłącznika podwójnego ze ściemniaczem to nie da rady zamontować tylko 2 przewody.
Tego samego szukam, czyli "good practices", "style guide" itp. czyli "jak stworzyć duży optymalny program" - (uniwersalniej, czytelniej, prosciej...) Zapewne łatwiej będzie odpowiedzieć na ten post, gdy zawężę architekturę dla ATmega. Jak piszecie duże programy w assemblerze? W jaki sposób osiągacie "code reuse" w kolejnych projektach? Jak sprawiacie,...
Nie miałem za bardzo czasu ale wracam do nierozwiązanego problemu. http://obrazki.elektroda.pl/7699775600_1... http://obrazki.elektroda.pl/3826926900_1... Tak wyglądają screeny po wywołaniu programu CRCGEN. Pliki wgrane programatorem działają poprawnie a przez bootloader tylko ten krótki (choć po przemieleniu ma także...
atmega assembler dioda assembler atmega atmega timery assembler
programowanie robotów fanuc polonez kostek stacyjka stiga kosiarka silnik
hyundai tucson sztuka lutowania
Opel Zafira A 1.8 125KM 2001 – lokalizacja przekaźnika sterownika silnika ECU Jak zresetować liniał pomiarowy z błędem?