Help :| Bawię się usypianiem #atmega 328P i wybudzaniem jej watchdogiem. Wszystko fajnie działa, jak śpi to pobiera ~22uA, wybudza się co 2 sekundy, mryga led, i idzie spać dalej. Fajnie. Kod: http://pastebin.com/3iB2GHVG

Problem zaczyna się, gdy chcę by led dłużej świeciła, aktualnie jest tam 1ms, przy 10ms nadal jest ok, ale jeśli jest tam np. 100ms to atmega wchodzi w endless loop. Dioda mryga może co 20ms non stop.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@skew: W DIPie nie ma chyba za dużo ARMów - raczej TQFP albo QFN. Zawsze możesz sobie kupić/zrobić jakąś przejściówkę PCB. Polecam gotowe zestawy Nucleo (50-60zł). Dobre procesory, wbudowany debugger i wsparcie mbed.org.

Z innej firmy, to np. Tiny Gecko od firmy SiliconLabs (dawniej EnergyMicro), bardzo energooszczędne, tanie, świetne środowisko programistyczne i całkiem niezłe biblioteki.
  • Odpowiedz
Mam problem z wypaleniem bootloadera na atmedze 328, za pomocą arduino IDE, przez bootloader USBasp. Robiliście może kiedyś coś takiego i możecie mi pomóc?
Po naciśnięciu "wypal bootloader" natychmiast pojawia się komunikat "Błąd przy wgrywaniu bootloadera; brak 'bootloader.tool' parametru konfiguracji"

#elektronika #arduino #avr
OldPike - Mam problem z wypaleniem bootloadera na atmedze 328, za pomocą arduino IDE,...

źródło: comment_t8P8CTceClG3guoiaVT6ilQEfJBLqZxp.jpg

Pobierz
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#tworczoscwlasna #elektronika #zegarki
Zegarek sobie ostatnio zrobiłem, pokazuje też pozycję ziemi, (1 stycznia na godzinie 12stej).
Chciałem też zrobić pozycję marsa, ale nie bardzo wiem jak inkrementować zmienną co 1,87 dnia i jeszcze przerabianie na radiany itp trygonometrie, tak by sie zerowała co ok 1,87 roku. Ale dojdę i do tego. Oczywiście nasza Ziemia leci wstecz ruchów wskazówek zegara. Orbita winna być owalna, ale nie mam
Fox_Murder - #tworczoscwlasna #elektronika #zegarki 
Zegarek sobie ostatnio zrobiłem...

źródło: comment_YDAq2z6NVtk80uw7ld2pvqv1qQHA6Snp.jpg

Pobierz
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, własnie ogarniam swój pierwszy AVR konkretnie atmege16a + kilka sensorów, nie mam żadnego fajnego źródła zasilania więc podpiąłem to pod 3,3 v z arduino. Zamierzałem się do podłaczenia programatora konkretnie usbasp wszystko podpiąłem i cisne do usb, diody świeca ale avrdude jakiś ślepy bo usbasp nie widzi, aż tu nagle diody gasną i usbasp nie zyje (chyba) to możliwe żeby się zabiło od usb ? zworka w usbasp była ustawiona na
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kalectwo: nie uszkodzą się w ten sposób sensory ? atmedze wiem że nic nie grozi ale w drugą strone może być kłopot.

Problem zam się rozwiązał, podejrzewam że coś nei stykało na płytce (strasznie lipna jest) poruszałem kabelki itp i wszystko ok, avrdude śmiga z moim usbasp, nawet na 3v3. Dzięki za pomoc
  • Odpowiedz
Dobry wieczór mireczki

Mam pewien problem z #atmega. Otóż próbuję wykorzystać usart do przesyłania danych przez moduł bluetooth HC-06. Korzystam w tym celu z gotowej biblioteki uart.c napisanej przez pana o nazwisku Peter Fleury. Problem polega na tym, że gdy wpisuję w terminal jakiś znak, gdy wraca on z powrotem do terminalu to jego kod ASCII się zgadza. Jednocześnie podaję go na jeden z portów i odczytuję na diodach,
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

ej #arduino #avr i głownie @Analityk :)
jak do Arduino Mega 2560 (z chinskim progrmatorem CH340 jesli to ma znaczenie) podmienie rezonator z 16khz na 20khz (datasheet dopuszcza do 20) to zmieniając dane w boards.txt bedzie działać?
cos jeszcze trzeba zrobić? reflash bootloadera wtedy?
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Analityk: Mowie o stylu w jakim prowadzi te swoje wyklady.
I ten Misiek... Dolary przeciw orzechom, ze uwielbia Kabaretony itp.

Chciałbym po prostu zasygnalizowac, ze jesli ktos ma wiedze i chec zalozyc o tym kanal - niech to robi, jest zapotrzebowanie.
Ale na Boga, niech sie wzoruje na RS Elektronika, a nie na tym Pingwinie Mirku.
  • Odpowiedz
@jansek: Więcej cierpliwości. Proste rzeczy ogarnij z książek. A jak będziesz chciał ogarnąć callbacki, wskaźniki itp to posłuchaj Mirka. Długo bo długo ale bez cierpliwości donikąd nie zajdziesz. BTW - datasheet.
  • Odpowiedz
@Analityk: To że wnikłem niestety nic nie daje. Chodzi o najprostszy przykład, gdzie DMA kopiuje dane z tablicy wprost do DAC. Nic nie działa. A kombinacji jest dość dużo w tych ustawieniach trigger source trigger i DMA.
  • Odpowiedz
Mireczki po transferze danych do Slave przez SPI trzeba dodawać jakieś opóźnienie albo zerować jakąś flagę? Przesyłam pierwszy pakiet i jest ok a drugi już zatrzymuje się w pętli sprawdzającej poprawność danych?

#avr #xmega
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Czokowoko: jeszcze jest w tym rejestrze status bit kolizji, jak masz wyświetlacz albo chociaż ledy, to może ci zasygnalizować że bit kolizji się włączył.
Warunkujesz ten bit żeby zaświecił ledem jeśli jest w stanie jedynki. if spix_status.6 = 1 then : led = 1: end if
A jak masz lcd to po prostu wyświetl stan tego rejestru.
Tak można chyba wszystkie rejestry sobie wyświetlić, nie pamiętam tylko czy wyświetli ci
  • Odpowiedz
#arduino #avr
Mogę coś normalnie robić w przerwaniu, które budzi mikrokontroler? Mryganie diodą działa, ale np. z komunikacją szeregową są problemy. Np. taki kod:

#include
#include
#include
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy ja o czymś nie wiem, czy w AVR (atmega256 dokładnie) da się zmienić stan WSZYSTKICH portów "na raz"? (w jednym cyklu, czy inaczej - tak by nie było opóźnień pomiędzy zmianami stanów bitów np. na PORTA i PORTC.

Oczywiście da się zmieniać stan wszystkich pinów/bitów w jednym porcie na raz, ale żeby więcej niż 1 port?

#elektronika #mikrokontrolery #avr #arduino
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pochwalę się że zmontowałem prototyp kontrolera MIDI. Docelowo będzie to układ zamontowany wewnątrz keyboardu Yamaha PSR F50, rozszerzający go o wyjście MIDI i przy okazji mam zamiar dorobić kilka funkcji jak pitch bend, potencjometr do zmiany głośności i być może jeszcze przyciski do FL Studio - play, stop, change pattern i tym podobne.
Na filmiku są problemy z odstępami czasowymi, ale to nie ma znaczenia bo to tylko test działania, w docelowym
xerxes931 - Pochwalę się że zmontowałem prototyp kontrolera MIDI. Docelowo będzie to ...
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Drogie Mirki, pomocy!
Zakupiłem ATmegi8L, programator USBasp, dodałem odpowiednie wpisy do ArduinoIDE, skompilowałem Optiboot z odpowiednimi fusami i nie działa mi programowanie tej atmegi przez port szeregowy - znaczy się w ten sam sposób co programuje się zwykłe Arduino, błąd avrdude stk500_getsync() not in sync - oczywiście reset podłączony jak trzeba, próbowałem też ręcznie. Jak przez programator wrzucam program to wszystko działa. Jak wrzucony program coś na Serial wyświetla to też mogę
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

zmiana BOOT* wpływa na LOWFUSE i HIGHFUSE, prawda? jeśli tak, to w obu Pro Mini są takie same. Ta sama zawartość flasha.


@WebSpider: Tylko na high-fuse. I nie ma to nic do zawartości flasha! Fusebity programują się oddzielnie, osobno, zapisują się w avr gdzie indziej i nie są zawarte w flashu (ani w pliku .hex flasha).
  • Odpowiedz
@WebSpider: To przepraszam, nie zrozumiałem..., popraw mnie jak się mylę, bo z Arduino mam blade doświadczenie:
- z tego co piszesz działa Ci programowanie i odczyt tylko używając programatora USBasp?
- bootloader arduino używa uarta(seriala) do programowania, i dzięki temu nie potrzebujemy USBasp?
- twój problem jest taki, że nie działa upload programu używając połączenia szeregowego, a sam uart(serial) działa, i możesz sobie swobodnie komunikować się z mikrokontrolerem wysyłając i odbierając znaki.

Jak jest
  • Odpowiedz
@SiarkoWodor: z tego co rozumiem chciałbyś z liczby typu całkowitego (int) wyciągnąć konkretną pojedynczą cyfrę.
Załóżmy, że int liczba; jest dowolną liczbą całkowitą; Np. liczba = 123456789;

aby wyciągnąć ostatnią: liczba %= 10;
przedostatnią: liczba %= 100; liczba /= 10;
3 od końca: liczba %= 1000; liczba
  • Odpowiedz