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ś...
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 /*...
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...
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...
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ć...
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);...
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.
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...
Najpierw poczytaj co to są liczby stałoprzecinkowe i zmiennoprzecinkowe. Takie dzielenie jak tu zostało zaprezentowane jest na liczbach stałoprzecinkowych. W takim przypadku to ty decydujesz gdzie będzie przecinek i czy w ogóle będzie. Po za tym powtórzę się za kol koodpl : po co takie rzeczy rzeźbić w asm?
I z tymi dwoma sekundami to raczysz zartowac, chyba, ze do procka ze 128kB FLASH ladujesz program o dlugosci kilobajta. Jutro w pracy moge specjalnie dla ciebie sprawdzic ;) Swoja droga, nie sadze zebys byl w stanie przez port LPT programowac z czestotliwoscia 4MHz. Co do symulatora, teraz pracuje na ukladzie gdzie jest w sumie 5 procesorow, pamieci...
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 -...
Atytmetyka 8-io i 16-sto bitowa: http://www.atmel.com/dyn/resources/prod_... i kody źródłowego do tego http://www.atmel.com/dyn/resources/prod_... Dodano po 41 i jeszcze to: http://www.atmel.com/dyn/resources/prod_...
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...
atmega assembler dioda assembler atmega atmega timery assembler
vacum volvo regulator chińczyk pilot radiowy yooda radiowy
bateria parkside bateria parkside styki
Awaria silnika zimnego powietrza w Jaguar S-Type: przyczyny i diagnostyka Usterka siłownika chłodnego powietrza w systemie HVAC