Mirki z #mikrokontrolery #avr #atmega
Czy dobrze rozumiem, że w standardzie komunikacji twi/i2c jeśli master, czyli w moim przypadku Atmega wysyła na szynę, na której w moim przypadku jest tylko LM75:

1. rozkaz startu transmisji, to w którym momencie flaga TWINT ustawi się sprzętowo na 0? Co musi nastąpić na tej szynie, żeby ona się wyzerowała, jakaś odpowiedź od slave'a?

2. Wysyłam z mikrokontrolera na szynę adres LM75
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki #elektronika #pcb #avr
Zabezpieczenie pinów AVR - kiedyś na piny pull-up zrobiłem tak jak na obrazku po prawej, a dla pull-down (po lewej) dobrze kombinuję?
Chodzi o własne zabezpieczenie pinów AVRa gdyby coś dziwnego poszło po kabelku (zwarcie, duże napięcie itp).
Chcę na PCB zrobić uniwersalne gniazdka 4 pin: (V+, PullDown, PullUp, GND) i wykorzystywać je w ramach potrzeb, np. do kontaktronu w odpowiedniej wtedy
atehxx - Mireczki #elektronika #pcb #avr 
Zabezpieczenie pinów AVR - kiedyś na piny ...

źródło: comment_djRBBsoe2buD7C5XyK9scmtr3dawxyfu.jpg

Pobierz
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Tymian: Wpisz w google esd protection. To nie boli. Wyskoczą ci warystory, transile itp. Shotky nie rozproszy energii ESD, burstów, surgy a właśnie możliwość pochłonięcia/rozproszenia energii zakłóceń jest tu ważna.
  • Odpowiedz
Podwójna dioda schottky sprawdza się wystarczająco dobrze podczas testów ESD, capacitive coupling oraz burstów do około 6k6V.


@Tymian: Chyba w twojej wyobraźni.
Ale mam propozycję. Wyślesz do mnie swoje wlasnoręcznie zaprojektowane urządzenie z wejściami zabezpieczonymi schotkami, a ja sprawdzę odporność ESD i zobaczymy czy urządzenie przeżyje. Zgoda?
  • Odpowiedz
mam problem z zaprogramowaniem atmegi8 z użyciem arduino ide za pomocą usbasp. podczas wgrywania programu wyskakuje komunikat:
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
Co może być przyczyną?
#arduino #elektronika #avr
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki, mam programator USBASP 2.0 oraz ATMEGA328P-PU, jak je ożenić? W czym pisać programy/czym wgrywać?
#avr
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #avr
Gdzie muszę wkleić swoją własną bibliotekę, żeby później w atmel studio zalinkować ją w taki sposób
#include
czyli bez podawania całej ścieżki do pliku
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Dzonzi: jw. tzn. w project properties w toolchain w gnu c/c++ (osobno) compilers w directories klikasz zielonego plusika i wybierasz ścieżkę do pliku z zawartośćią twojabiba.h/c/cpp. Wtedy, jak to zrobisz to otwierasz plik c/cpp jak masz taki do swojej biblioteki i klikasz File, wybierasz MOVE file to nazwatwojegoprojektu. I wtedy jak zrobisz include to kompilator wie o co ci chodzi.
  • Odpowiedz
Hej.

Napisałem program w którym za pomocą enkodera inkrementuję wartośc pewnej zmiennej typu uint8t po czym ta wartość jest ustawiana jako MAX licznika timera 2A który działa w trybie fast PWM. Tym sposobem kontroluję jasność diody LED podłączonej do PB3. Jednocześnie wartośc jest wysyłana do wyświetlacza LCD.

Problem polega na tym, że o ile zmieniając wartośc zmiennej z 0 do 255, LED zaświeca się z maksymalną jasnością, o tyle zmiana z 255
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Analityk: tak, mam to w ten sposob zrobione, bylem w pracy i pisalem z glowy i zapomnialem dodac pgmspace.h. takze to nie jest to, zwlaszcza ze pierwsze testy byly z tablicą zapisywaną w ram
  • Odpowiedz
Mirki z tagów #mikrokontrolery #avr - dajcie bmi jakieś ciekawe projekty, które mógłbym wykonać, żeby przy okazji się czegoś nauczyć.
Ogarniam przerwania, timery, adc, wszelkie sterowanie diodami świecącymi, przyciskami, wyświetlaczem LCD 16x2, 7 segmentowymi, na resztę części czekam i za około 2-3 tygodnie dopiero będę miał, ale chciałbym przez ten czas coś grzebać
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@6502: bo power jest pewnie typu int, pow zwraca double, jak najpierw przypiszesz do inta to konwertuje i % się udaje, jak bez przypisania to nie konwertuje i jest błąd bo % dostaje inta i doubla a chce inta i inta.
  • Odpowiedz
Eloszka koledzy, pomóżcie mi w rozkminianiu jednej rzeczy.

Czy to co wysyłam do uc w którym chodzi poniższy kod musi trafic w punkt '1'? Chodzi o to że jesli np wyśle coś z innego urządzenia, a mój uc bedzie wykonywał '2' to moja wiadomość przepada?
Jak to jest we wszystkich popularnych platformach #arduino #esp8266 #esp32 #avr #stm32 #mikrokontrolery #elektronika
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@nielu: a tak w troche mniejszym skrocie, to nie, nie przepada dopoki cos nowego nie nadpisze jej w buforze wejsciowym.

A tak na prawde to zalezy od architektury ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@Luk_1mex: bufor wejściowy usart zazwyczaj ma pojemność ograniczoną do jednego bajta.
Jak coś przyjdzie to siedzi w tym buforze i generuje przerwanie.
Tutaj dalej zadanie programisty żeby wziąć to z tego bufora i przenieść np. do większego bufora z którego program sobie coś dalej czyta.

Bardzo użyteczne jest korzystanie z DMA. Transfery dzieję się samoczynnie i kiedy otrzymamy pełną ramkę danych np. 1024bajty to dostajemy info że nowa ramka jest
  • Odpowiedz
#avr #atmega
Siemka Mirki. W jaki sposób realizujecie przesuwanie tekstu na ekranach LCD typu HD44780?
Napisałem bardzo prostą funkcję odbijającą w górnej linijce tekst podany w formie tablicy. Całość działa tak jak sobie założyłem, ale czy mógłby mi ktoś to sprawdzić, czy można to zrobić łatwiej, albo ładniej?
lcdlocate(), lcdstr() to gotowe funkcje z bibloteki obsługi HD44780 z której korzystam.
mój fragment kodu:
http://wklej.org/id/3380209/
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@BoaKusiciel: Zrobić bufor dla każdej linii, drukować do n-tego miejsca w buforze, w razie co, z offsetem na wyświetlaczu. (czyli z bufora bierzesz od 3 znaku i rysujesz od 5 pozycji na ekranie). Odświeżasz co 40 razy na sekundę. Sterownik zmienia tylko zawartość buforu i, ewentualnie, formatowanie.
  • Odpowiedz
Może któryś Mireczek albo Węgierka znająca się na #programowanie #mikrokontrolery #avr albo inne takie pomoże mi z jednym problemem.

Dostaje plik .hex i muszę go przesłać do urządzenia i tu pojawia się problem bo plik nie jest jednolity i ma wcięcia, ogarnąłem już standard w jakim to jest generowane ( Intel Hex - wikipedia ) ale jedna rzecz nie daje mi spokoju, dlaczego są zastosowane takie
bi-tek - Może któryś Mireczek albo Węgierka znająca się na #programowanie #mikrokontr...

źródło: comment_Sqm6JibTNMLA7OehN26ASVSuHgtNELEz.jpg

Pobierz
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bi-tek: hexów nikt nie generuje na kolanie, tylko są generowane podczas generowania kodu wynikowego, jako efekt zlinkowania iluś modułów oprogramowania. Przykładowo do AVRa możesz mięc kilka wcięć bo soft zawiera kilka bloków - bootloader ładowany od jednego adresu, a potem kod właściwy ładowany ładowany od innego adresu... i jeszcze mogą być np zalinkowane dane statyczne (tablice/ciągi) które też zajmują osobną pamięć, rozsądnie by było by zaczynały się od nowego bloku
  • Odpowiedz
@bi-tek: Ale to jest format zapisu. Masz w pierwszym bajcie ile bajtów pamięci ma być zapisanych i potem od jakiego adresu. Ten plik jak tak na szybko patrzę, jest pełny. Każda komórka jest zapełniona.
Choćby ostatni wcięty. 0x04 bajty od adresu 0x0724. Następny wiersz to już 0x10 bajtów od adresu 0x0728. Pełna ciągłość.
  • Odpowiedz
Siemanko. Potrzebna pomoc. Dlaczego kompilator wywala mi error "conflicting types for LCDsendfloat"

kod:
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#avr #mikrokontrolery
Mam książkę Mirosława Kardasia - tzw. Bluebook - Mikrokontrolery AVR Język C Podstawy programowania.
Warto zaopatrzyć się jeszcze w książkę Tomasza Francuza - Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji, czy bezsensu i sama książka Kardasia wystarczy?
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@sucharixx: N------y wracasz do domu, Dziewczyna, siostra, Matka patrzy. Co ty o----------z? Kot w furii skacze, robi wszystko by dorwać się do lasera, a Ty w agonii próbujesz włączyć światło, żeby zobaczyć czy na pewno nie wdepniesz w to co Twój żołądek zwrócił przed łóżkiem xD
  • Odpowiedz
Mirki spod tagu #avr #mikrokontrolery
Jak można uprościć ten kod? Widzicie w nim jakieś źle, brzydko napisane fragmenty? Bawię się avr dopiero od kilku dni, celem tego programu jest zaświecanie jednej diody, później drugiej i trzeciej i następnie zgaszenie pierwszej, drugiej i trzeciej (coś jak te ledowe kierunkowskazy w nowszych autach).

Program całkowicie dobrze działa, ale pytanko o kod - co tu poprawić? :)
Wklejam link do kodu:
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy da się zrobić dump pamięci SRAM z uC #avr? Nie chodzi mi jednak o program w C, tylko użycie avrdude albo innego narzędzia do zrzutu binarki przez USBasp.
Bez problemu mogę sobie odczytać zawartość Flash/EEPROM/flag, ale dla pamięci RAM najwyraźniej nie ma takiej opcji w avrdude (?).
#mikrokontrolery
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@noffi: żeby programować przez USBasp musisz zresetować atmegę, żeby wejść do "sesji" ISP. A co się stanie z ramem po resecie? ( ͡° ͜ʖ ͡°)

Obczaj sobie debugWIRE, ale do tego potrzebujesz czegoś w stylu Atmel ICE. Albo lepiej przesiąść się na STM32 (taniutko na aliexpress sobie ogarniesz i płytkę i programator/debuger).
  • Odpowiedz
Jest jakaś biblioteka do obsługi IR na #arduino, która mało waży, tak abym mógł użyć na attiny85 i jeszcze żeby mi zostało trochę miejsca. Obecnie używam tego, ale dorzucę parę linii swojego kodu i już 96% miejsca zajęte z 8 KB.
#elektronika #avr
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@sucharixx: Możesz zmodyfikować tą bibliotekę :) Na pierwszy rzut oka widzę pliki irSony, irSharp, ir_xxx najprościej będzie wyjebongo tego wszystkiego z czego nie korzystasz.
  • Odpowiedz
Mirki spod tagów #avr #mikrokontrolery mam Atmegę8, z którą mam problem - między nóżką 7(VCC), a 8(GND) mierząc omomierzem mam tylko 27Ohm. Czy tak powinno być? Gdy podłączę ją pod 7805, to napięcie siada do 3V, więc ewidentnie prąd tędy ucieka.
Uszkodziłem yC?
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach