(at)jarekgol Plik, który ma zawierać tę funkcję jest wynieniony z nazwy. A że tobie podobieństwo komunikatu sie kojarzy z math ... (at)piernikowskis Nie zrobię za ciebie, bo po pierwsze nie znam tej platformy budowania. Po drugie zrobiłbym ci krzywdę. Musisz poznać filozfię C, czym sie różni DEKLAROWANIE funkcji (np w *.h), czym jej DEFINIOWANIE (tu...
Tak. Ale kartę zasilasz 3.3V. MISO w atmedze to jest wejście, nie wyjście. A skoro wejście, to odczytujesz na nim poziom jaki wystawi Ci karta pamięci, którą zasilasz napięciem 3,3V. Więc na linii MISO będziesz miał 0 lub 3,3V. Układy tego typu jak Atmega poziom wysoki rozpoznają od ok 0.6 napięcia zasilania czyli dla zasilania 5V poziom wysoki jest...
Czy jest możliwa transmisja między portem 1 a 2 i odwrotnie? Nie. Jeżeli nie jest możliwa transmisja między portem 1 i 2 to bym po prostu zrobił mostek dla tych portów a na zasilaniu wstawił bym diody prostownicze żeby nie doszło do zwarcia z print serwerem Nie, nie i jeszcze raz nie. Poczytaj o tym co to jest USB Host/Device a potem nawet OTG. -------------------...
Petita nie używałem tylko fatfs ale patrząc na elm-chan: File write operation must be done in following sequence. pf_lseek(ofs); read/write pointer must be moved to sector bundary prior to initiate write operation or it will be rounded-down to the sector boundary. pf_write(buff, btw, &bw); Initiate write operation. Write first data to the file....
To może określ jaki typ zapisu będziesz chciał robić (ile bajtów oraz jak często). Daj jeszcze informację ile zasobów posiadasz.
Witam - od kilku dni walcze bez powodzenia z przepisaniem programu z AVR DOS na C -> FatFS Platforma sprzetowa ta sama co do AVR DOS (ta sama PCB)na AVR DOS działa , na FatFS nie che Atmega 128 z kwarcem 11,059200 Hz, karta SD zasilana z 3,3V atmega128 z 5V. Napięcia dopasowane za pomocą rezystorów. Dopasowywałem przykład ze #define DO_INIT()...
Nie korzystam z zadnych bibliotek. Sprzet Atmega 162 Przeważnie to wina kodu chyba że pusciłeś atmege na 32kHz.
Patrząc na liczbę tematów i problemów, chyba coś tam jest do poprawy. W ten sposób można śmiało stwierdzić, że AtMega 8 to najbardziej niedopracowany mikrokontroler, a GCC to najgorszy kompilator. 4\/3!!
Jeżeli nie chcesz się bawić w pisanie własnej obsługi karty SD i implementacją FAT32 to spróbuj biblioteki FatFs :) P.S Jednak jeżeli chcesz spróbować własnych sił w pisaniu tego wszystkiego to służę pomocą :) Pozdrawiam maly_elektronik
Witam Mam problem szukalem rozwiązań jednak żadne z nich nie przyniosło efektu. Mam podpiętą kartę SD oraz wyświetlacz LCD do uC kilka lat temu drzasiek wrzucił na forum swoją przeróbkę. Wzorując się na niej (kopiując znaczną część) spróbowałem dostosować do swoich potrzeb uC zasilany z 3,3V więc karta podpięta bezpośrednio do nóżek. Więc daruje schematy,...
Witam forumowiczów :D! Tworze projekt na zaliczenie - prostą perkusje elektroniczną, która posiada 12 przycisków, czytnik kart SD i wyjście PWM podpięte przez wzmacniacze do gniazda jack. Wszystko do momentu odtwarzania dźwięku działa poprawnie - wartości z pliku czyta prawidłowo (przetestowane na diodzie). Problem pojawia się gdy zaczynam odtwarzać...
Coś ruszyło! Zapomniałem dodać informacji o sprzęcie nie odsługuje karty na atmega 32 tylko na LPC1343 (z rdzeniem Cortex M3) w środowisku LPCXpresso (na podstawie Eclipse). Karta SD kingston 512MB. (sformatowana na FAT32 ale i próbowałem na FAT16) Na początku znalazłem bibliotekę Petit FAT przerobioną pod LPC1343 pilk w załączniku sd-1343.rar Na tej...
Mniemam, ze musisz otworzyc plik do zapisu, przewinac do konca, wpisac, zamknac. Wszystkie te funkcje udostepnia FatFs.
"Build started 8.7.2009 at 23:05:46 avr-gcc.exe -mmcu=atmega128 -Wall -gdwarf-2 -O0 -fsigned-char -MD -MP -MT AT128_FatFS_SD_S65.o -MF dep/AT128_FatFS_SD_S65.o.d -c ../AT128_FatFS_SD_S65.c avr-gcc.exe -mmcu=atmega128 -Wall -gdwarf-2 -O0 -fsigned-char -MD -MP -MT ff.o -MF dep/ff.o.d -c ../ff.c avr-gcc.exe -mmcu=atmega128 -Wall -gdwarf-2 -O0 -fsigned-char...
Siedzę już nad tym i kombinuję jakiś czas, google i szukanie na forum też za bardzo nie pomaga. Serio? 5 sekund szukania: Strona: http://www.avrfreaks.net/index.php?name=... [syntax=C] DWORD get_fattime (void) { /* Pack date and time into a DWORD variable */ return ((DWORD)(2012 - 1980) << 25)...
W darmowych przykładach do książek z mojej stopki znajdziesz kilka przykładów obsługi kart SD. Co prawda na XMEGA, ale ponieważ to tylko kwestia dostosowania rejestrów z prostego ukłądu jakim jest SPI, więc nie powinno byc problemów.
Sorki nie zauwazylem ze to progmem. Pointery w progmem nie istnieja w sposób tak rozumiany jak w normalnej pamieci - tak ze tak łatwo nie bedzie. [syntax=c]#define BUFFLEN 18 char __buff[BUFFLEN]; strncpy_P(__buff, (const char *)pgm_read_word(&(ptr_to_text[0])), BUFFLEN - 1); __buff[BUFFLEN -1 ] = 0;[/syntax] i dopiero mozesz wolac swoja funkcje cos...
Tak wiem. Ale czy jest sens ładowania FatFS tylko po to aby mieć możliwość awaryjnego załadowania jednego pliku może raz na pół roku? Jeszcze raz mówię, przeczytaj jakie są ograniczenia tego zapisu i samego sposobu preparowania pliku do zapisu dla datalogera to wtedy ci się wyjaśni. Bo to pytanie czy jest sens ładowania FatFS - jak sam zobaczysz nie...
Błędne są nazwy rejestrów. Ale poprawnie tego nie jest banalne - ATTiny85 korzysta z interfejsu USI, którego nie ma ATMega8. Ona ma USART, wymagane zmiany w kodzie będą znacznie większe niż tylko zmiana nazw rejestrów. Także albo ściągnij wersję dla swojego procka, alb temat sobie odpuść do czasu aż nie poznasz bliżej c, assemblera i przede wszystkim...
Nie wiem do końca jak działa tamta biblioteka ale czemu nie użyjesz popularnej i dopracowanej biblioteki od elm - chana która nazywa się FatFs w niej nie martwisz sie o nic tylko podajesz ile chcesz bajtów odczytać i tyle.
Witam, zacząłem coś modzić i przerabiać program Kardasia i tak funkcja: f_mount(0, &FATFS_Obj); Zwraca mi 3; Jak dobrze rozumiem to 3 oznacza? : "FR_NOT_READY The lower layer, disk_initialize function, reported that the storage device could not be got ready to work. One of the following possibilities is suspected. No medium in the drive. Wrong lower...
Cześć, mało szczegółowy opis ale sprawdź następujące: 1. Co zwraca funkcja f_mount(0, &FatFs); 2. Czy karta nie ma WriteProtect włączonego. 3. Spróbuj sformatować w komputerze kartę na FAT16. 4. Sprawdź połączenie elektryczne (czy jest wg. poniższego zdjęcia) https://obrazki.elektroda.pl/2006519500_... 5. Ostatecznie można spróbować...
Nie miałem za bardzo czasu ale wracam do nierozwiązanego problemu. http://obrazki.elektroda.pl/7699775600_1... http://obrazki.elektroda.pl/3826926900_1... Tak wyglądają screeny po wywołaniu programu CRCGEN. Pliki wgrane programatorem działają poprawnie a przez bootloader tylko ten krótki (choć po przemieleniu ma także...
.... Laser czyta i ..... A ja myślałem do tej pory, że tylko ludzie potrafią czytać, tymczasem proszę bardzo z elektrody można się dowiedzieć, że czytać potrafią także lasery (oops przepraszam - Lasery) A tak na poważnie to panie kolego weź ty się w końcu za początki i w ogóle za naukę podstawowego programowania mikrokontrolerów, miganie diodą LED,...
Witam od dwóch dni walczę z połączeniem karty SD z Atmega128. mam taki oto testowy kod: main.c [syntax=C] int main(void) { USART0_Init(); TCCR1B |= (1<<WGM12); // tryb CTC TCCR1B |= (1<<CS11)|(1<<CS10); // 8Mhz / 64 /1250 = przerwanie co 10ms OCR1A = 1250; TIMSK |= (1 << OCIE1A); // Zezwolenie na przerwanie CompareMatch od rejestru...
FatFs czy domyślna biblioteka SD zajmuje sporo miejsca. Niestety go aż tyle nie mam :) LGT8F328P to bardzo zbliżony klon do MEGA328P - nawet jeśli chodzi o rejestry. Sprawdzałem właśnie bibliotekę SPI.h dostarczoną do środowiska LGT8FX8P i widzę, że SPI w tym uC ma chyba 4 bajtowy bufor. Spróbuję zaimplementować funkcje xmit_spi/ rcv_spi aby z niego...
Witajcie, mam problem który wykracza poza dotychczas posiadaną wiedzę i granice rozumowania mojego umysłu ;) Otóż uruchomiłem bibliotekę FatFS (przykład do obsługi kart SD przez UART) na procesorze ATMega32 na płytce testowej (dokładnie ZL3AVR jeśli to w czymkolwiek może pomóc), wszystko ładnie działało bez zarzutu - karty działały szybko i niezależnie...
Cześć ! Szukałem w internecie i na elektrodzie i pełno tego typu programów i gotowców, ale tylko pod BASCOM. Ja ostatnio zrezygnowałem z BASCOM'a i zacząłem z C. Zrobiłem odtwarzacz, ale strasznie charczy. Miałby ktoś pomysł jaka może być tego przyczyna? Kod: [syntax=c] #include <avr/io.h> #include <stdlib.h> #include <stdbool.h> #include...
Cześć ! W programowaniu Avr w C jestem nowy, ale w BASCOMIE programowałem. Proszę o wyrozumiałość w wytłumaczenie krok po kroku. Chciałem uruchomić sobie kartę SD w C. Możecie mi podać jakiś DZIAŁAJĄCY przykład. Hardware: Atmega 644p, 10MHz, SD podpięta jak pod AVRDOS(działa w BASCOM).
Też walczyłem z fatfs'em, ale się udało, spojżyj na: http://news.elektroda.pl/elm-fat-czy-kom...
Przykłady do FATFS dla różnych AVRów masz m.in. w przykładach do Atmel Studio. Nie trzeba instalować nic ponad to co masz. Co prawda nie wiem, czy nie są przerobione tak, aby korzystać z ASF. Napisz jaki pojawia się problem przy kompilacji - wklej log. Dokładny opis FATFs i kart SD, ale dla AVR XMEGA znajdziesz też w książkach z mojej stopki. Są tam...
Zgodzę się, ale mamy różnice nomenklaturowe :) Jeśli mówimy, że ktoś się uczy, to się uczy. Czy uczy się na poziomie rejestrów, czy wykorzystania biblioteki to bez znaczenia. Natomiast jeśli ktoś robi bezmyślnie copy/paste to nie jest to dla mnie nauka. Swoją drogą większość bibliotek dostępnych do AVR jest tak fundamentalnie skopana, że istotnie trzeba...
To może zapytam trochę inaczej. Jak poprawnie wykonać (używając bibliotek fatfs) dopisywanie nowych danych pomiarowych. Mam je zorganizowane w buforze i teraz ten bufor chciałbym dopisywać okresowo (bo cały czas gromadzą się nowe dane). Potrzebuje zapisać bufor o wielkości 6kB co 8s. Zależy mi na tym aby zapisany plik był duży ponad 60MB przy zapisie...
Udało mi się poradzić z problemem, zamieniłem po prostu układ scalony SN74LS07 na SN74HC125. Podobnie wszystko działa przy zasilaniu ATmegi napięciem 3,3V - co dość oczywiste, chcę tylko zwrócić uwagę, że to nie była wina programu. Być może komuś kto tu trafi przyda się moja uwaga. Dziękuję również za zainteresowanie.
Jakim napięciem zasilasz Atmegę? Pokaż kompletny schemat. Zrób zdjęcie podłączenia. Jaka karta SD czy SDHC? zapis na kartę dokonuje się losowo, to znaczy czasem po podaniu napięcia wszystko ładne się zapisuje, czasem nie. Nie mam pojęcia czym może być to spowodowane. Stawiam na złe podłączenie np. za długie kabelki między Atmegą, a modułem SD, albo...
Witam wszystkich, W celu zmniejszenia poboru prądu postanowiłem zamienić w moim projekcie ATmege 16 na ATmege 328. W projekcie korzystam z przycisków, wyświetlacza LCD i slotu kart SD. Wszystkie peryferia zachowują się dobrze oprócz slotu kart SD. Korzystam w kodzie z biblioteki Petit FatFS. Szukałem w jej plikach miejsca, w którym zdefiniowane są porty...
f_mount f_open f_lseek f_write f_close mniej, a wiecej takich funkcji uzywam w bibliotece FatFs aby zapisac dane pomiarowe na karcie SD. Biblioteka FatFs jest pamieciozerna. Moze i sa 'lepsze' biblioteki ale przynamniej masz gwaranacje, ze biblioteka ta jest sprawdzona i napewno poprawnie dziala.
Znam ten artykuł i zapoznałem się z nim. Jednak mam wątpliwośći jeżeli chodzi o konfigurację tej biblioteki.
Faktycznie, pliki się powielały. Powrócę jednak do tego samego tematu, gdyż mam problem z implementacją tej biblioteki. Poskładałem ostatecznie nowy projekt w Eclipsie, wszystko się kompiluje, no ale nie mam powodzenia w odczytaniu pliku. Oto mój plik main: stat=1 dwa disk_status=0 mont=0 open=13 odczytano=[] Efekt wykonywania programu jest...
Jeśli chodzi o mnie, to już też rozwiązałem ten problem. Wprowadzilem wewnętrzne podciągnięcie do Vcc w procku na lini MISO (czyli miałem odpowiedni bit nieustawiony w DDR i PORT (wejście bez pull-up)) teraz ustawiłem odpowiedni bit w PORT i mam podciągnięcie do zasilania i narazie karta działa. Edit: mirekk36 - mam ATmega128 i mam używać Petita? Bez...
Nie wiem, nie znam Bascoma. Zapewne da się uzyskać więcej jeśli Bascom ma dedykowane biblioteki do SD. Z drugiej strony nie prościej przejść na C? Szybkość zapisu na poziomie 300-1400 kB/s jest zupełnie realna w C. A ponieważ do obsługi SD używasz biblioteki, np. FATFS Chana to prostota użycia tego rozwiązania jest taka sama jak Bascoma.
FatFS jest na mikrokontrolery z większym ramem. Na małych procesorach należy użyt Petit Fat
Ja tylko tak z ciekawości zapytam się, dlaczego nie skorzystasz z takiej fajnej biblioteki jak FatFS ? albo nawet PetitFS ? One działają niezawodnie.
Witam, Od godziny próbuję odpalić Petit FAT na ATmega32 (zestaw EvB 4.3 v4), ale coś nie chce działać... [syntax=C] #define F_CPU 16000000UL #include <util/delay.h> #include <string.h> #include <avr/io.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #include "diskio.h" #include "pff.h" #include "xitoa.h" #include...
Znalazłem informacje, że najlepiej w tym celu wykorzystać bibliotekę FatFs, ale nie potrafię wykorzystać jej do napisania programu, który potrafiłby zapisać dowolny tekst na kartę SD/SDHC. To pokaż swój kod. Możesz także zacząć od odczytania karty. Tutaj na końcu znajdziesz przykład do pobrania: http://mikrokontrolery.blogspot.com/2011...
Jest chyba darmowa biblioteka o nazwie FatFs (język C). Nie wiem tylko jak z kompilacją na AVR'y i łatwością jej uruchomienia. Podejrzewam, że w google znajdą się odpowiednie materiały pomocnicze. Link do biblioteki: http://code.google.com/p/minini/wiki/Fat...
Cześć, Napisałem program, który miał odtwarzać utwór z karty SD o nazwie o.wav . Program poprawie otwiera plik, jednak ze słuchawka nie wydaje dźwięku... Czy mógłby ktoś sprawdzić mój kod czy nie ma tam żadnego błędu ? Myślałem że same wyprowadzenie odczytanych wartości hex z pliku muzycznego i "wypuszczenie" ich na PWM w zupełności wystarczy, ale widocznie...
Po pierwsze: brak całego kodu - nie wiadomo: - jak (i czy) inicjujesz SPI i FatFs, - jaka jest konfiguracja FatFs, Piszesz o fragmencie (po wykreskowaniu...) , którego nawet nie podałeś! Po drugie: po wykreskowaniu Zastanawiam się po co "wykreskowujesz" instrukcję zgłaszającą błąd. Błąd wystąpił wcześniej, niezauważanie go nie spowoduje że on zniknie...
Cześć Posiadam w kodzie następującą strukturę: [syntax=c] typedef struct gnss_data{ char latitude[9]; // szerokość geograficzna char longitude[9]; // długość geograficzna char speed[4]; // relatywnie do ziemi char hours[2]; char minutes[2]; char seconds[2]; char pdop[4]; // dokładność pozycji char hdop[4]; // dokładność wysokości char vdop[4]; // dokładność...
d.d -> do końca nie wiem czy uporałem się z problemem, najprawdopodobniej polega/polegał on na strukturach (z niewyjaśnionych mi przyczyn po jakimś czasie program się wiesza, co dziwna w przypadkowych miejscach) rsikon -> na razie nie udostępniam mojego kodu, mam nadzieję że dość szybko opracuje cały kod i dopiero wtedy wrzucę go na forum :) Osobiście...
fatfs atmega atmega petit fatfs stm32f1 fatfs
polsat zakodowany sygnał transmisja bezprzewodowy video podłączyć słuchawka telewizor
Lokalizacja bezpieczników kierunkowskazów Renault Trafic II Audi A6 C6 2.7 TDI 2006: Żywotność paska wielorowkowego i napinacza