... no i widzę że zaczęły się schody ... jak wspomniałem - moje pojęcie o assemblerze jest znikome więc nie mam pojęcia co i jak zmienić w kodzie apropo tego Attiny :(
Myślałeś, że o tym nie wiem (; Pewnie, że będzie latać, ale jak widać z synchronizacją poziomą szybko mu poszło, do dalszego zapoznawania się z tematem podesłałem mu odpowiednie linki. A to już blisko, do utrzymania stabilnego, statycznego obrazka (; EDIT. Jakbyś chciał lekturę na ten temat, polecam: "Mikrokontrolery AVR ATtiny w praktyce" . Może to...
Witam! Mam taki problem , znam sie na elektronice , ale nie cyfrowej , nie znam jezykow C+ , bascom , assembler itp . Złożylem juz uklad , tzn. programator + attiny 26 + tmfs 5360 + kilka diod , calosc "dziala" w sensie programator programuje proca . Teraz moj problem - potrzuje aby ten uklad uczyl sie dowolnego pilota rc5 i posiadal- FUNKCJE WLACZ...
Witam, Mam taki problem, chcę kupić AVR DRAGONA ale w karcie katalogowej nic nie pisze o programowaniu np.atmegi8515. W AVR Studio także jak wybieram NEW PROJECT, ATMEL AVR Assembler i wpisuję nazwę Wybieram w Debug platform AVR Dragona to wszystkie np.atmegi8, attiny są wyłączona i niemożna ich programować. Jestem początkującym użytkownikiem a to będzie...
Jesli moge wyrazic swoje skromne zdanie to asm zostawilbym dla prockow z malymi zasobami np. attiny czy 51 lub DSP(tutaj juz nie chodzi o zasoby a szybkosc wykonywania instrukcji). Chociaz niewykluczone ze tez mozna na nie pisac w C. A ogolnie C jak kolega Krzysiek_k1984 stwierdzil - duzo szybciej i wygodniej sie pisze i nie trzeba miec polowy pamieci...
Witam! Zamierzam zająć się AVR-ami (zakupiłem już 2 sztuki ATtiny, 12 i 26). Obecny stan wiedzy : uświadomiony początkujący '51. Czytam posty na temat avr, odwiedzam linki... Mam parę pytań natury ogólnej i szczególnej: - na co mam zwrócić uwagę? - czego się wystrzegać? - do czego dążyć? - assembler czy c? Wiem, że to pytania dość nieostre, ale zapewne...
To i ja dodam coś od siebie. Tak się składa że zdarzyło mi się zrobić układ Avioniki do samolotu. Na AVR. I uwaga: w BASCOmie!!! Co ciekawe działało. Ale 90% kodu było w assemblerze. Łącznie to z 65000 linijek. ATMega128 + CPLD + SRAM 256kB + LCD Color 8" + SD. W asseblerze była oczywiście obsługa LCD. Nie mogąc odpalić żadnej biblioteki do SD i systemu...
... wystartowałem jakieś 18 lat temu z nauką basic-a na atari , potem pascal na atari , potem amos pro na amidze, potem delphi na pc , jak widać wszystko to pochodne od basica , to teraz jest mi ciężko załapać assembler , ale nie mówie że to koniec. Chwilowo nie moge sprawdzić czy to co napisałeś zadziała , bo musiałem troche przerobić programator dla...
Z wykorzystaniem języka assembler można zredukować niezbędną liczbę cykli zegara do 7, co spowoduje zwiększenie liczby próbek do 15 przy 150 kHz. Nie jest to zbyt wiele, ale różnica w wyglądzie przebiegu jest wyraźna. W jednym z projektów generowałem przebieg sinusoidalny z wykorzystaniem drabinki R-2R i ATTiny 2313. Udało mi się zejść do generowania...
Dziękuję za uwagi. Odpowiadam hurtowo na poszczególne zagadnienia/pytania: Drogo – pewnie trochę drogo ale jak słusznie zauważył „Ibuprom” i o czym pisałem, nie miałem czasu i większej ochoty na „babranie” się w płytkach. Tym bardziej, że pewnie dokonując eksperymentów trochę więcej pieniędzy puściłbym „z dymem”....
Bo ten avr nie ma w asemblerze komendy dzielenia. Musisz sobie sam napisać taką procedurę albo poszukać gotowej w necie. Ja kiedyś napisałem taką prostą działającą na zasadzie odejmowania. Wydajne to to nie jest ale nie wiem jak zrobić to lepiej.
Witam AT90S2313 obsługuje tylko LPM, natomiast ATTINY2313 obsługuje LPM, LPM Rd,Z jak i LPM Rd,Z+. Jeżeli wykorzystujesz ATINY2313 to znaczy, że źle zadeklarowałeś w AVR Studio typ procesora, bo kompilator wyraźnie pisze o błędzie dla AT90S2313. Pozdrawiam JarekC
Zdecydowanie NIE. Bez DSM-51 za ok 2000zł nic nie zrobi. Dokładnie. Sam posiadam tą książkę. Sama w sobie, nie jest nic warta bez odpowiedniej platformy w postaci DSM51. Polecał bym AVR (Attiny, ATmege) do tego programator, koszt nie wielki. W internecie znajdziesz sporo informacji na ten temat. Jeżeli już chcesz jakieś słowo drukowane, to niedawno...
Masz gotowca ze sprawdzaniem BF , na attiny2313 - z łatwością go dostosujesz do własnych potrzeb.
Dzięki. Programuje w Bascomie i w tym języku było by najwygodniej, ale w Bascomie można włączyć i kawałek w Assemblerze.
Na podstawie zgromadzonych przeze mnie informacji, ściągnąłem z sieci program AVR Studio 4, znalazłem fajną stronkę z nauką typu zapal LED itp. uczę się ale nic mi nie wychodzi bo AVR Studio nie pozwala mi na uruchomienie wpisanych instrukcji assembler'owych i sprawdzenie jak działa, w tym wyświetla mi komunikat, że nie znalazł pliku hex - mimo, że...
Wyszperane na szybko z mojego katalogu avr-gcc (cały czas obiecuję sobie, że kiedyś przesiądę się z assemblera na C więc kolekcjonuję takie "perełki"). Nie wiem, kto jest autorem ale na pewno nie ja.
Trudno cos wskazywac - bo program jest tak prosty ze glowa boli. Glowna petla to zaledwie 6 instrukcji wysylajacych tablice na Port B... do tego w przerwaniu prosta obsluga komunikacji z PC ktora w twoim wypasku jest cala do wywalenia. Zreszta przerobka zalezy od tego jak bedzie wygladac docelowo elektronika. Natomiast co do tego czy ktos sie znajdzie...
Poza tym pobieżnie przejżałem DS ATTiny i nie widzę instrukcji analogicznej do DIV w 8051?? Jak w nim dzielić liczby?? A czy znalazłeś MUL? ;) Do takich obliczeń niestety trzeba pisać własne funkcje. Można mnożyć i dzielić poprzez wielokrotne dodawanie lub odejmowanie danej liczby, ale to jest oczywiście dosyć mało optymalna metoda. Oczywiście mnożenie...
a wiesz w ogóle jak się częstotliwość taktowania ma do prędkości w RS232 ??? programujesz w assemblerze ??? - to o jakim multiprocessingu mówisz? jeśli programujesz w asemblerze i to dobrze to coś dziwne troszkę pytania zadajesz? 1. Zajrzyj sobie do noty katalogowej i zobacz sobie przy jakich częstotliwościach taktowania jakie prędkości możesz sobie...
Po co stosować tu przerwanie? Kardynalny błąd to stosowanie polceceń opóźnień w przerwaniach. W tym programie problem tkwi w: If Przycisk = 0 Then Waitms 100 If Przycisk = 0 Then Incr Sekwencja If Sekwencja = 0 Then Incr Sekwencja If Sekwencja = 4 Then Sekwencja = 1 End If End If End If End If Popraw na: If Przycisk = 0 Then Waitms 100 If Przycisk =...
Skoro ustawiłeś bit CTC1, to sprawdź w dokumentacji, do czego on konkretnie służy.
Piszesz w Assemblerze, czy C? Bo kawałek kodu wygląda na C - operator =
Zapomnij o Bascomie, albo porzuć ATTiny, innego wyjścia nie masz. Dla Tiny naturalnym jest asembler . AVRStudio, Assembler Visual Builder, VMLAB to środowiska IDE z których mozesz korzystać.
Najpierw wypróbowałbym, czy błąd wynika z odczytu czujnika, czy samej procedury wyświetlania poprzez zastąpienie wyniku pomiaru stałą wartością. Bardzo dawno temu zrealizowałem odczyt tego czujnika w assemblerze, tyle tylko że dla mikrokontrolera Texas Instruments MSP430 i też za pomocą tej metody doszedłem do prawidłowego rozwiązania.
Polecam Tobie jako lekturę Książkę Mikrokontrolery AVR ATMega lub Attiny w praktyce. Bardzo fajna książka. A następnie Nota katalogowa ATMELA. Aby używać assemblera musisz znać architekturę mikrokontrolera więc najlepiej się z nią zapoznać.
Ja bym polecił mikrokontrolery z rodziny AVR Atmela. Są tańsze od PIC, w internecie jest bardzo dużo projektów. Łatwy do zbudowania programator. Na początek polecałbym jakiegoś ATTiny. Jak znasz assemblera nie powinieneś mieć problemu. AVR mają moim zdaniem przejrzyste i przystępne noty katalogowe.
To zależy jaki masz core do Attiny. W DIY Attiny jest soft serial, który mi się kompiluje bez problemu, ale raczej go nie zmieścisz w Attiny13: https://obrazki.elektroda.pl/2541893500_... Jak chcesz użyć czegoś takiego na Attiny to są na internecie dostępne biblioteki do C: https://blog.podkalicki.com/attiny13-sof...
A więc zaczynamy: Napisałem programy przykładowe i wszystko pięknie chodzi diodki się zapalają gasną - po prostu jest dobrze. Napisałem program w AVR Studio 4 i symulacja pokazuje że wszystko powinno działać no ale nie działa. Tu jest przycięty kod programu który też nie działa mi. .nolist .include "2313def.inc" .list .listmac .cseg .org 0...
Po żmudnych badaniach znalazłem powód niedziałania poprzez USI, ale niestety niestety wszelkie próby obejścia problemu nie powiodły się. Przyczyną jest odwrotny / przesunięty w fazie sygnał CLK. Widać to na przebiegach oscyloskopu. Ten z działającej prawidłowo procedurki z pętlą for(..... http://obrazki.elektroda.pl/7664057700_1... A...
Może odpal jakiś Timer żeby generował przerwanie bardzo często. Powiedzmy co 10us. I w przerwaniu sprawdzaj czy pin ma stan 0 czy 1. Jak 1 to inkrementujesz jakaś zmienną. Jak zmieni się na 0 to zwracasz wynik i zerujesz tą zmienną. Oczywiście w tym samym przerwaniu sprawdzaj tak samo drugi pin. Niestety wymaga to kodu obsługi przerwania w assemblerze...
http://obrazki.elektroda.pl/3751212700_1... Układ jest dedykowany na ATtiny2313, ja przy okazji zagospodarowałem ostatni AT90S2313, jaki miałem i popełniłem miernik pojemności na nim. Krótki opis jak to działa: Miernik mierzy pojemność dołączonego kondensatora ładując go stałym prądem z lustra prądowego Q1, Q2 (2x BC557), które dodatkowo...
Więcej szczegółów. Potrzebujesz cyklicznie generować te impulsy? Czy po jakimś zdarzeniu np wciśnięty przycisk? A jeśli po zdarzeniu to po jakim i czy ma to być pojedynczy impuls? Seria impulsów o określonym czasie bądź ilości? Seria impulsów trwająca tak długo jak trwa zdarzenie? Czy stała generacja impulsów od momentu zdarzenia do nieskończoności?...
Nie znam tego procesora ale nikt ci nie gwarantuje że po włączeniu zasilania pamięć RAM będzie miała same wartości 0. To ty masz za zadanie tą pamięć wyzerować. Nie znam assemblera dla tego procka ale w procedurze reset dopisz ręcznie wpisanie wartości 0 do tych liczników.
Napiszę cały program lub wstawkę (procedurę) w Assemblerze, na małe uC AVR (Attiny13, 25, 2313 etc.). Proszę o kontakt na PW.
.... Apropo tego że nie musi być attiny 12 dostałem kod chyba do assemblera niestety nie umiem go obsługiwać no ale spróbuje może coś się uda. no to wystarczy zmienić jedną linijkę. Co do atmega8 dlatego taka że akurat ją mam ;] a poza tym może jeszcze do tego wszystkiego będę robił wskaźnik temperatury silnika na np.lm35 Temperatura ponad normę włącza...
Chylę czoła przed piszącymi w assemblerze... To chyba nie często się zdarza, bo takich nie ma zbyt wielu ;) Płytki wyglądają na robione termotransferem. Nie używam termotransferu, który pewnie wychodziłby ładniej, choć to zależy też od jakości tonera. Stosuję transfer chemiczny (na zimno) bez użycia żelazka, które ostatnio trzymałem w rękach gdzieś...
Co do łatwości programowania to trochę powątpiewam, Attiny z tej serii to nie Arduino i gotowe biblioteki, podobno ciężko poddają się językowi C i trzeba dobierać się do nich w Assemblerze, ale z pewnością się da :) Piotrze, w języku AVR C spokojnie można zaprogramować każde Attiny, tutaj mamy banalną funkcję, można więc użyć instrukcji odwracania...
Robię przetwornicę na ATtiny261. Chcę skonfigurować PWM tak, żeby miałem 2 symetryczne przebiegi na wyjściach OC1D i /OC1D (piny 7, 8) z czasem martwym ok. 200-300ns. Udało mi się to zrobić na ATtiny 25/45/85, ale musiałem się przesiąść na coś co ma więcej pinów. W ATtiny261 jest więcej rejestrów, które trzeba ustawić. Na początku włączam PLL (potrzebuję:...
Karty SMART są już u nas używane przez kierowców do bezobsługowej stacji paliw. Dlatego też te same karty chcę wykorzystać do otwierania pomieszczenia. Projekt jest taki, że w pomieszczeniu będą przechowywane sprzęty do których kierowcy będą mieć dostęp. System ma sprawdzić czy dana karta ma dostęp do pomieszczenia Zapisać 8 ostatnich wejść (tu wykorzystam...
gwarantuje Ci ,że Bascom ma pojęcie o ATTinty12 .Jeśli znasz assemblera AVR to popatrz co wygenerował Bascom po kompilacji programu , który wyżej przytoczyłem. +0000002C: 9731 SBIW R30,0x1 Z pozdrowieniami dla prawdziwych Bascomowców Program może i poprawnie napisany ale jak Bascom tak się zna a Ty mi gwarantujesz to znaczy, że i Ty wykonasz za Attinego12...
Odkopię temat bo mam problem też z Attiny13. Problem jest następujący: po skonfigurowaniu timera0 jaki licznik zaczyna on zliczać kolejne takty procesora z określonym preskalerem ale w momencie użycia procedur waitms lub if timer0 zatrzymuje się. Dzieje się tak podczas sprawdzania na sprzęcie jak i na symulatorze. Program powinien działać poprawnie,...
zapomniałem napisać, że cały program mam napisany w C, i nic poza tym językiem nie kumam, a już w szczególności assemblera. Chyba nie do końca rozumiem, jak to ma działać (to co w linku). http://obrazki.elektroda.pl/9138731600_1... napisane jest, że pull-up'y są załączone do PD2 i do PB3..0 (skonfigurowane jako wejścia). Skoro na obu...
masz rację, atoi kończy na znaku nie będącym cyfrą (właśnie sprawdziłem w internecie i się o tym przekonałem). UDR jest zdefiniowane tak: #define UDR _SFR_IO8(0x0C) a z innych plików nagłówkowych, wynika, że (dla AVR-cośtam-cośtam-2313) dalsze definicje wygladają tak: #define _SFR_IO8(io_addr) _MMIO_BYTE((io_addr) + 0x20) #define _MMIO_BYTE(mem_addr)...
Bo Const to stała a Ty potrzebujesz czegoś jak DB albo PROGMEM. Czyli danych umieszczonych w pamięci. A stała niekoniecznie będzie tam umieszczona. Stała może być np. wbudowana w rozkaz assemblera (akurat nie tutaj ale inaczej to może być). Zrób raczej tak: Dim Atmega As String Dim Attiny As String Atmega = "Atmega" Attiny = "Attiny"...
Jest sposób - ściągnąć datasheety obu mikrokontrolerów i porównać ich budowę, a następnie dostosować kod, oraz schemat. Skoro program jest w assemblerze to nie będzie łatwa operacja.
Jeśli dobrze rozumiem, ma to działać następująco: Pobierasz po kolei dane z tablicy trianglewave do rejestru r0 (__tmp_reg__) i później wyprowadzasz tę wartość na PORTB . Skoro dane z tablicy pobierasz za pomocą polecenia assemblera lpm , to nie powinieneś czasami zadeklarować tablicy do zapisania we flash'u: //na początku dodaj #include <avr/pgmspace.h>...
manekinen: no tak, dlatego też napisałem, że tylko częściowo się z tobą nie zgadzam :) kamyczek: no i właśnie takie sekcje krytyczne są wskazaniem do użycia wstawki assemblerowej. Ale taka konieczność zachodzi rzadko, a co więcej 99% kodu może być napisana normalnie w C. Zresztą to świetnie widać na przykładzie różnych OSów, gdzie cąłość jest w C, a...
Można robić wstawki assemblerowe w C.
Albo jak radzi mirekk - tym bardziej że m8 kosztuje około 8zł Albo wywal instrukcje STR i FORMAT. Formatowanie wyniku zrób jako dzielenie zwykłe (liczba całkowita) i po kropce MOD (pozostałość z dzielenia). Ewentualnie napisz wszystko jako wstawka assemblerowa, ja tak zawsze robiłem i było ok :-)
assembler darmowy assembler arduino assembler assembler dodawanie
atmega różnica napęd dyskietka silnik samochód elektryczny dziecko
esser instrukcja gniazdo esser
Alternatywy dla smartfona Tecno z problemami dotykowymi Suszarka Hotpoint TVFM 70 - Bęben nie obraca się: Przyczyny i Diagnostyka