Macie mirki, jak będziecie chcieli wyjaśnień to pytajcie. To zasadnicza część kodu do sterowania kilkoma silnikami krokowymi na raz. Przejdzie jeszcze duże zmiany ale kształt pozostanie.
Odbieramy pięć bajtów danych (dwa na szybkość, dwa na ilość kroków i bajt "adresu") i jeśli ostatni jest właściwy dla danego "silnika" ruszamy z zadanymi parametrami. W przerwaniu od timera1 generujemy sygnał pwm dla wejścia step drivera, w przerwaniu od uart receive zapamiętujemy dane (docelowo dane
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Odbieramy pięć bajtów danych (dwa na szybkość, dwa na ilość kroków i bajt "adresu")


@Analityk: Daj adres pierwszy to już po pierwszym bajcie będziesz wiedział czy przetwarzać dane dalej czy olać ramkę danych.
  • Odpowiedz
@a231: To tak nie działa. Dane odbieram tak czy siak to znaczy zapisuje bajt danych w pamięci ram. To wszystko co robi część odpowiedzialna za odbieranie danych czyli to:

lds rec_r23, UDR0 ; 2 clk
st X+, rec_r23 ; 2 clk
sts udr0, r26 ; 2 clk

a w pętli loop (taki main) sprawdzam czy odebrałem pięć bajtów danych i to wsio. Jeśli odebrałem pięć to sprawdzam jakie i podejmuje
  • Odpowiedz
Mirki, potrzebuję pomocy ze zbudowaniem bufora-wzmacniacza do miernika częstotliwości na #avr #atmega. Chodzi mi o to by zbytnio nie obciążać wyjścia mierzonego układu i podwyższyć amplitudę sygnału do poziomu akceptowalnego przez mikrokontroler. Chciałbym przykładowo zmierzyć odbieraną częstotliwość w radioodbiorniku #krotkofalarstwo nie wprowadzając za dużych zakłóceń. Zakres pomiarów jaki chciałbym uzyskać to od 1Hz do ok.100MHz. Będę wdzięczny za każdą pomoc, bo z analogówką to raczej
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jakim generatorem fontów można wygenerować możliwie prosto fonty lda KOLOROWYCH lcd?
Mam taki jak dotfactory, i guzik, nie działa. Tylko na monochromaty. Co jest dziwne bo fonty winne działać też na kolorowych.
Krzaki wypluwa.
#avr #bascom
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Block3r: nigdy nie widziałem nic mniejszego od tego 2,4", a trochę szperałem po ali i ale.
Bo gdyby lcd mógł być pokryty większym dotykiem, to mógłbyś nałożyć dotyk na ten 128x160. Dotyk rezystancyjny to tylko 4 przewody poprowadzone do adc.
  • Odpowiedz
@bazingaxl: C + C++, GCC, Notepad++. Obsługa RCC i GPIO są zrobione na bibliotekach HAL jeszcze, ale się je kiedyś usunie.

Do grafiki użyte to https://github.com/marekburiak/ILI9341_due/, wydawało się sensowne, przede wszystkim z uwagi na ładne łuki i całkiem czytelne API. Pozbywanie się zależności od arduino mi cały dzień zajęło, ale działa, z tym, że na razie bez obsługi DMA.

(Układ pomiarowy jest zrobiony na avr, na stm32 chodzi komunikacja sieciowa,
  • Odpowiedz
#avr #arduino #atmel #gcc #assembler
Możecie mi powiedzieć czemu jak oglądam plik asm jakiegoś programu napisanego na avr'a to kompilator nie używa rejestrów z zakresu r2-r13? I po co ciągle używa r0 i r1 do trzymania tam zera i odkładania go na stos i do zdejmowania tego zera ze stosu? Zupełnie nie rozumiem.
Dlaczego wchodząc do przerwania jest cała kombinacja typu:
push r1
push
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki szybkie pytanko. W pracy inżynierskiej opisuje różne typy środowisk programistycznych. Mam tez Geany'ego, który wykorzystuje do programowania na AVRki. Istnieje jakiś sposób skonfigurowania polecen build/make, zebym nie musial własnoręcznie zmieniac -mmcu Atmega32 na inne wartości, tylko żeby sam rozpoznawał urządzenie i dostosowywał według tego polecenie? #avr #linux #programowanie #embedded #informatyka
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@peyote1232: grubo mirku. Użyłeś tagu linux, więc zapewne na tym systemie to będzie stało. Możesz zrobić tak jak napisałem - próbować za pomocą avrdude pytać o kilka modeli AVRów, aż trafisz na taki, którego sygnaturę odczyta poprawnie. Jakiś skrypt w bashu powinien dać temu radę.
  • Odpowiedz
@QBA__: Oczywiście, że na Linuxie mirku :) Wszystko ma być open source, wiec nie widzę innego wyboru. Po drugie szukałem tematów z Linuxem, bo używam na co dzień, wiec to był naturalny wybór.
  • Odpowiedz
#avr #mikrokontrolery #elektronika
Ostatnio zacząłem zabawę z Arduino Nano i wymyśliłem sobie projekt. Z racji że lubię symulatory chciałem rozbudować mój h-shifter o elektronikę. Obecnie jest zrobiony ze starego pada do którego przylutowałem kabelki i podłączyłem krańcówki, działa jak chciałem ale jest mało eleganckim rozwiązaniem. Chciałem to zastąpić Arduino, ale nie mogę tak zaprogramować mojego Nano aby przedstawiało się jako GamePad. I wpadłem na pomysł że
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@miszczo997: jest taki projekt jak M-Joy, zależnie od wersji obsługuje kilka cyfrowych i chyba 6 analogowych, albo milion cyfrowych i tysiąc analogowych (da się już na tym zrobić kontroler do symulatora lotu)
  • Odpowiedz
Myślicie że hex z prostą aplikacją utworzony na atmega 8 zadziała na atmega 328?? Jeśli użyjemy identycznych pinów i resztę jednakowo? m328 i m8 są jednakowe pod względem pinów.
Chcę zmajstrować pad usb, USB to tzw Virtual USB na atmega 8.
#elektronika #avr
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Fox_Murder: Nie zadziała, i widzę że już sprawdziłeś. Atmega 8 a Atmega88/168/328 to dwa różne mikrokontrolery. - rdzeń avr, ale rejestry, adresy, peryferia różne.
  • Odpowiedz
@QBA__: no cóż, przynajmniej się czegoś nauczyłem. Ale m32 i m16 można zamienić, oraz jeszcze chyba któreś z hard usb, pomimo różnych nazw mi zadziałały też pinologia ta sama. Chyba m32u2, i at90usb162, wiem bo zamieniłem je raz i działały.
  • Odpowiedz
Praca dla elektronika w Warszawie

Elo Mirony. Firma, w której pracuję poszukuje inżyniera elektronika do naszego działu R&D. Prowadzimy aktualnie kilka ciekawych projektów z pogranicza elektroniki dla medycyny/healthcare i wearables. Ogólnie większość informacji jest w ofercie, ale jeśli ktoś ma jakieś pytania to postaram się na nie odpowiedzieć. Od siebie dodam, że jest zarąbiście i serio mamy chill room z piłkarzykami, rzutkami i podwieszaną leżanką ( ͡° ͜ʖ ͡°
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jaką książkę polecacie po dwóch częściach Kardasia jako kontynuację nauki #mikrokontrolery. Trochę nie mam koncepcji co dalej. Brakuje w nich jakichś istotnych informacji? Myślałem nad tym: https://botland.com.pl/ksiazki-o-mikrokontrolerach/5035-avr-uklady-peryferyjne-tomasz-francuz.html W sumie poczytałbym coś więcej od strony sprzętowej o modułach, silnikach itd.
#avr #stm32 #arduino #mikrokontrolery
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
@janek_kos Kurde, od kiedy jestem studenciakiem, jakos nie wierze informacjom znalezionym w sieci. Poza tym, w ksiazkach informacje sa zazwyczaj kompletne i poukladane w logiczna calosc. No coz, trudno.
  • Odpowiedz
#kalkulatoranalityczny #avr #arduino
Ha, jest pierwsza wersja menedżera zewnętrznej pamięci static ram. link
Działa to tak, że trzeba zgłosić zapotrzebowanie na określoną ilość pamięci a metoda get_mem zwróci numerek z dostępem do bloku, czyli
uint16_t numerBloku = ram.get_mem(100);
później tym numerkiem odwołujemy się do tegoż bloku i możemy czytać np.
uint8_t dane = ram.read_mem(numerBloku, offset); gdzie offset to kolejny numer bajtu w bloku.
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#avr #elektronika #kiciochpyta #mikrokontrolery


Mam atmege 328p, obsługuje też przerwania, w głównej pętli wywołuje podprogramy i wszystko działa.
Problem z tym że po jakimś czasie pracy procka wywołana funkcja nie wraca do miejsca wywołania. Nigdy nie dzieje się to w tym samym momencie, ale bardzo podobnym. Co ciekawe po wystąpieniu przerwania INT1 i jego zakończeniu wszystko wraca do normy na 1-3 cykle pętli
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@drzewa_w_linzu: Obsługa lcd zajmuje ci mnóstwo cennego czasu procesora.
Kod mogłeś (nadal możesz) wrzucić na jakiś pastebin albo chociaż wybrać opcje z formatowaniem kodu, to jest nieczytelne okrutnie.
Zazwyczaj wejście do obsługi przerwania powoduje zerowanie flagi ale przyczyna wystąpienia przerwania nie musi zniknąć i wtedy masz wrażenie, że uC utknął w ISR.
Bez analizy całego kodu pomoc przypomina wróżenie z fusów. Może przepełnia się pamięć, może stos nadpisuje jakiś inny
  • Odpowiedz