Jest to kwestia konfiguracji biblioteki. Zapoznaj się z plikem pffconf.h i opcją _USE_LCC
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...
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...
Myślałem nad bardziej szczegółowymi instrukcjami co do uruchomienia mikrokontrolera, a dokładniej atmegi, z bibliotekami FatFs i Petit FatFs,
Ok, jestem pewien co do przyczyny - biblioteki używają za dużo pamięci SRAM. Jedyna, która byłaby dla mnie odpowiednia do obsługi karty SD to Petit FATFs .. Niestety, nie umiem jej zaimplementować :(
a dlaczego nie użyjesz FatFS? Daje trochę więcej możliwości. a tu masz coś do Petit: pf_write(bufor, sizeof(bufor), &s1); z tego co pamiętam zmienna s1 mówi o pozycji w której ma być zapisana zmienna bufor. więc po ponownym uruchomieniu s1 jest resetowana i zawsze masz tu tą samą wartość. przed zapisem danych trzeba użyć pf_lseek(xxx) gdzie xxx to koniec...
Możesz zacząć od które jest znacznie prostsze od FatFS i w wielu przypadkach całkowicie wystarczające.
Płytka nie jest malowana ręcznie ale tak na szybko w eagle a potem w paincie. Ścieżki może nie są zbyt równe z winy papieru do termotransferu, mimo że nic nie prasuję a jedynie naciskam bez ruchu żelazkiem to i tak ścieżki się zlewają i potem muszę drapać między nimi przed trawieniem, a ręka jak ręka, zatrzęsie się i już jest krzywa ścieżka. Co do kabelków...
Witam, po długich bojach z petitem udało mi się dobrnąć do funkcji pf_read, która zwraca niestety FR_NOT_OPENED. Funkcje pf_mount oraz pf_open() zwracaja FR_OK. Poniżej kod: [syntax=c]void main() { FATFS fs; /* Work area (file system object) for the volume */ BYTE buff[16]; /* File read buffer */ UINT br; /* File read count */ FRESULT res; /* Petit...
Krótkie wprowadzenie (nie musisz czytać) Buduje układ, w którym jedną z funkcjonalności będzie zapis na kartę SD. Wczoraj cały dzień męczyłem się z biblioteką Petit FatFS bo myślałem że wystarczy, otóż nie wystarczy i nie polecam jej do zapisów na kartę a jedynie do odczytów. Postanowiłem więc przejść na bibliotekę FatFs. I napotkałem na taki problem:...
Witam. Zacząłem bawić się kartami SD i doszedłem do wykorzystania biblioteki Petit fat. Dzięki postom z tego tematu udało mi się wykonać funkcje pf_open i pf_read. Ale z opisu biblioteki petit fat wynika że można za pomocą pf_write wpisać wartości do danego pliku. Próbowałem wykorzystać tą funkcję do wpisania wartości do pliku txt, ale po otwarciu pliku...
FatFS na razie mnie przerósł, w sumie to atmege32 i mnie. Zajmuje mi ±60% a muszę inne rzeczy wstawić. Tak więc zacząłem się bawić Petitfat z kodem właśnie Kolegi Drzaśka link http://www.elektroda.pl/rtvforum/topic19... Zmieniłem tak: zakomentowałem w pliku usi.c porty http://obrazki.elektroda.pl/9848831000_1... Samo nie...
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...
witam, 'przerabiam' komunikację z kartą uSD z m16 na m88 http://mikrokontrolery.blogspot.com/2011... 1. m88, F_CPU 8MHz, karta 1GB GOODRAM microSD (SD-C01G TAIWAN), FAT 2. schemat podłączeń jak w przykładzie, dostosowany do m88 stosuję 'czysty' adapter kart uSD, do buforowania używam SN74LS07 (dokładnie jak w przykładzie)...
Witam, Nie mogę poradzić sobie z obsługą karty SD na atmedze 8. Schemat: http://obrazki.elektroda.pl/7309105300_1... Z tą różnicą, że CD/DAT3 podpięty jest pod PD1. Używam(a raczej próbuję użyć) biblioteki [url=http://elm-chan.org/fsw/ff/00index_... FAT. Kod C: [syntax=c] // includowanie itd. int main(void) { FATFS fs; // Work...
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,...
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....
Czy ATMega8 poradzi sobie z obsługą: - karty MMC i FAT12/16 - potrzebuję tylko utworzenie pliku (txt/csv) i zapis danych do niego (jaki najmniej pamięciożerną / najprostszą w obsłudze bibliotekę FAT polecacie?), - obsługa LCD/OLED 2x16 znaków + klawiatura 3 lub 4 przyciskowa - zewnętrzny RTC i to wszystko :) ?? Biblioteka Petit FS czyli zminiaturyzowana...
FatFS jest na mikrokontrolery z większym ramem. Na małych procesorach należy użyt Petit Fat
A karta SD nie wystarczy? Petit FAT: http://elm-chan.org/fsw/ff/00index_p.htm... FatFs: http://elm-chan.org/fsw/ff/00index_e.htm... Przykłady: http://mikrokontrolery.blogspot.com/2011...
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...
Witam Męczę się właśnie nad napisaniem obsługi ładowania bitmap na wyświetlacz graficzny 240*128 T6963. Do obsługi używam znanych bibliotek kolegi Radosława Kwietnia (radzio.dxp.pl/t6963/). Sama obsługa wyświetlania tekstu i rysowania po ekranie jest już przeze mnie opanowana. Tak samo ładnie wyświetlają się też bitmapy odpowiednio skonwertowane programikiem...
Witam Was. Od samego początku jak uczę się C i programuję używałem edytora programmers notepad z pakietu winavr. Ostatnio wpadłem na pomysł uruchomienia lepszego edytora czyli eclipse niestety napotkałem problemy. Programatora używam tego http://shop.tuxgraphics.org/electronic/d... Błąd jaki mi się pojawia to diskio.h diskio.c [syntax=c]/*----------------------------...
dyż muszę ją dodać do mojego projektu, który tworzę na studia. Co się stanie, jeżeli plik się zapełni całkowicie? Kolejne rekordy nie będą już dopisywane? Napisz programik testowy i sprawdź Zdaję sobie z tego sprawę, lecz dydaktyczny kod programu, który analizujemy tutaj, docelowo będzie częścią obszernego programu. A w tej chwili wspomniany kod już...
Możesz się ze mną dalej kłócić, ale to nie zmienia faktu, że masz to źle... W kodzie FatFS nie ma żadnych funkcji operujących na poziomie SPI, więc co mam tam niby zobaczyć? To że jest osobna funkcja do nadawania i odbioru, nie znaczy, że odbiór wymaga osobnych 8miu taktów zegara, zupełnie niezależnych od nadawania. Dwie osoby mówią Ci, że jest źle,...
A więc wojna!! :P Krótko mówiąc złość przeze mnie przemawia, bo Atmega644 na wewnętrznym 8MHz + SD + zasilanie 3.3V = kolejne nie powodzenie. if(pf_mount(&fs)==2) pulse(2,500); Efekt, dwukrotne mrygniecie diody led. Nie miałem wiele czasu więc oprogramowałem tylko zieloną. Obecny kod: /*--------------------------------------...
Ale pisałeś, że zapisujesz dane na karcie, a Petit nie potrafi tworzyć plików :) No tak, utworzyć nowego pliku to się nie uda. Takie rzeczy to tylko w FatFs. Ale już zapisywać do istniejącego pliku PetitFat potrafi (z tym że bez możliwości zwiększenia jego objętości da radę zrobić - ale znowu nie jest to takie proste jak samo odczytywanie)
Oczywiście możesz tak robić jeżeli chcesz odczytywać plik: [syntax=c] /* Move to offset of 5000 from top of the file */ res = pf_lseek(5000); /* Forward 3000 bytes */ res = pf_lseek(fs.fptr + 3000); /* Rewind 2000 bytes (take care on wraparound) */ res = pf_lseek(fs.fptr - 2000); [/syntax] Jeżeli chcesz zapisywać to musisz ustawić pozycję w pliku jako...
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...
Nie umiem go przerobić na SPI do Atmegi8 np. . A widzisz, wszystko akurat jest ładnie opisane (jeśli chodzi dokładnie o takie problemy jak ty masz z bibliotekami zarówno PetitFat jaki FatFS) w książce o której mowa tu: [url=www.atnel.pl/wydawnictwo]Link Te biblioteki są super, ale wiele osób ma takie duże problemy z ich ruszeniem i dostosowaniem do...
Witam. Co oznacza ostrzeżenie: "dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]". Widać w kodzie że odnośi się do makra LD_WORD W odnośniku załączam cały projekt. Pojawia się on w kilku miejscach kodu: [syntax=c] plik pff.c Ostrzeżenie występujew tych miejscach: linia 376: wc = LD_WORD(buf); linia 381: return LD_WORD(buf);...
Da się, tylko trzeba pewnie doimplementować kilka niskopoziomwych funkcji - być może to tylko copy-paste z FATfs.
Dam może cały kod niezmieniony: s1=4; res = pf_write(bufor, sizeof(bufor), &s1); Jak było powiedziane wyżej zmienna s1 zwraca wartość ile rzeczywiście bitów zostało odczytanych/zapisanych Więc po co ty na sztywno wpisujesz tam 4 Przecież jeśli zamiast s1=4, wpiszemy s1=2 to to nic (chyba) nie zmieni...
Robię układ na atmedze8 który odczytuje dane z dwóch akcelerometrów i zapisuje na kartę sd (chwilowo mam microsd z adapterem, ale to nie powinno mieć znaczenia). acc i sd są na wspólnej szynie SPI, mają osobne sygnały CS, a wszsytko podciągnięte rezystorem do zasilania. Korzystam z biblioteki Petit Fat. Do obsługi akcelerometrów mam taką funkcję: [syntax=c]...
Jakiś czas temu zająłem się tematyką kart SD i MMC. Jak to bywa z początkami, były one trudne. Wśród setek stron www prawie niemożliwe jest znaleźć coś konkretnego co by pomogło w nauczeniu się obsługi kart SD i MMC. Są biblioteki typu AVR-DOS, FATFs, PetiteFAT, ale to gotowce. A co jeśli samemu chcesz się nauczyć jak to działa? Albo chcesz użyć karty...
http://obrazki.elektroda.pl/1983044100_1... Witam, W związku z tym, że w chwilach wolnych wciąż pracuję nad Playerkiem WAV z użyciem procesora AVR, jak w tym temacie http://obrazki.elektroda.pl/8066786300_1... Sama płytka PCB posiada bardzo małe wymiary 29x35mm, umożliwia z przodu montaż na dystansach 3mm. Z tyłu można sobie...
(at)Pocieszny Możesz użyć tego PetitFS. Stworzyłbym na Twoim plik pod windowsem o odpowiednim rozmiarze i do niego zapisywał te dane z wifi. Jak zapiszesz cały plik to po prostu ustawiłbym się na początek pliku spowrotem. W ten sposób zawsze działasz w jakimś standardzie oraz w łatwy sposób możesz odczytać kartę na PC.
Witam Podzieli się ktoś biblioteką do obsługi kart SD pod środowisko LPCXpresso ? W przykładach PetitTaf i FatFS są braki w plikach a z przykładów z innych procków coś mi nie wychodzi. Może znajdzie się jakaś życzliwa dusza ;) pozd. Jacik
http://obrazki.elektroda.pl/6163930500_1... Ostatnio wpadłem na pomysł modyfikacji analogowego domofonu, który mam w mieszkaniu. Do słuchawki dołączony jest mały układ, który "nasłuchuje" na linii dzwonka i automatycznie otwiera drzwi w przypadku wykrycia tajnej sekwencji składającej się z krótkich i długich dzwonków. Urządzenie proste,...
Witam, korzystając z tematu disk_initialization() , zwracając STA_NOINIT. Podejrzewam, że coś może być nie tak z funkcjami xmit_mmc i rcvr_mmc , ale nie umiem znaleźć w nich błędu, a sam próbowałem już tylu modyfikacji, że nie bardzo wiem czego jeszcze mogę spróbować. Prawdopodobnie błąd tkwi właśnie w tym pliku mmc.c, bo tam najwięcej "twórczej inwencji'...
Panowie - trochę prostszy kod jest na płytce w lekcji n/t PetitFat - gdzie efekt działania karty można obserwować na LCD bez zabawy z UART'em spróbujcie go sobie odpalić tak jak jest - on musi działać jeśli sprzętowo jest wszystko podłączone - bo go sprawdzałem nie raz .... Wtedy będziecie wiedzieć czy w ogóle karta działa i czy sprzęt jest ok. Jeśli...
FatFS albo może wystarczy PetitFAT ;) to są bardzo dobre biblioteki.
Ja mam pytanie co do tego adaptera na SD, testowałeś go już na jakimś petitfat / fatfs czy działa ?, z dzielnikami był zawsze problem tyle co przeczytałem. Pozdrawiam
Jako, że petitfs ma znikome możliwości postanowiłem się pobawić FATFS Zamiast odczytu przez RS'a wybrałem odczyt przez wyświetlacz LCD. Na początku postanowiłem zrobić coś prostego : Zobaczyć co jest zapisane na karcie, Ale problem już pojawia się przy "otworzeniu" pliku. Opierałem się na tym pliku mian: http://elm-chan.org/fsw/ff/en/open.html Jednakże...
W 100zł się zmieścisz jeśli to zrobisz sam, na płytce uniwersalnej. Potrzebujesz prosty procesorek, np. ATMega88 (chociaż wygodniej wziąć ciut większy) , gniazdo SD, kartę SD, MAX232 i parę elementów dyskretnych. Zapis na karcie SD zrealizujesz przy pomocy gotowych bibliotek, np. petitFAT, czy FATFS. Do tego tylko trzeba dodać prostą obsługę USART w...
A w jakim formacie musi być karta żeby ją kontroler obsługiwał FAT16 czy inny :?: Jaki kontroler? chodzi ci o własny procek AVR ? jeśli tak to przecież wyżej kolega ci napisał, że zwykłe te starsze karty SD (nie HC) na pewno będą zawsze ci działać z tymi popularnymi dostępnymi bibliotekami do ich obsługi. Np FatFS albo PetitFAT ;) ..... działają pięknie.
aaa no to najlepiej przydałyby się te pliki w formacie może 44100 16bit stereo Dodano po 5 zaraz - no to odtworzyłem je teraz poprawnie czyli 44100 8bit stereo - no teraz pięknie wygląda chyba ? Tzn nie mówię o tej analizie spektrum. Ale tak czy inaczej ciekawy jestem jak będą wyglądały te pliki z próbkami 16bit - więc przygotuj też je proszę ok? ........
Ja tylko tak z ciekawości zapytam się, dlaczego nie skorzystasz z takiej fajnej biblioteki jak FatFS ? albo nawet PetitFS ? One działają niezawodnie.
BTW - używasz FatFS czy PetitFS? FatFS, może faktycznie lepiej spróbować PetitFS... Za razie postanowiłem nie zajmować się szybkością wyświetlania bo pojawił się kolejny problem a mianowicie kolory. Sprawa wygląda tak: W paincie tworzę bitmapę 320x240 i wypełniam ją kolorem czerwonym (255,0,0) i zapisuję w formie bitmapy 24bit (nie ma opcji 16). Następnie...
Cześć, wybaczcie, że nie pisałem, ale nie mogę się dogadać z kartą SD za pomocą atmega8 1MHz(wewnętrzny). Próbowałem z dwiema kartami. Za każdym razem funkcja disk_initialize nie zwraca mi FR_OK. Dokładnie sprawdzałem zasilanie, na kartę daję 3V3, a na mikrokontroler 5V. Pomiędzy liniami danych z uC do SD dałem dzielnik rezystorowy 510om i 1kom(napięcie...
To co mi się rzuciło w oczy, to brak pull-up przy magistrali I2C. Pokaż zasilanie i cały schemat. Moze i sa 'lepsze' biblioteki ale przynamniej masz gwaranacje, ze biblioteka ta jest sprawdzona i napewno poprawnie dziala. Jest np. PetitFs (młodszy brat FatFs). FatFs można też "okroić"/skonfigurować, na pewno zapotrzebowanie na pamięć spadnie. Czy to...
tmf , Jesteś już bardzo zaawansowany w programowaniu, wiec pewnie nie pamiętasz już problemów jakie mają początkujący. Ja własnie do początkujących należę i naprawdę łatwiej mi zacząć od atmega8. Jest trochę poradników które dosłownie punkt po punkcie tłumaczą jak zapalić diodę lub zmierzyć napięcie. Począwszy od instalacji oprogramowania, połączenia...
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...
Witam Kolegów, Od jakiegoś czasu próbuję uruchomić prosty odtwarzacz MP3 oparty o dekoder STA013 oraz kartę SD. Dekoder ten skonfigurowany został tak by na swoim wyprowadzeniu DATA_REQ wystawiał stan niski, gdy jego bufor wewnętrzny jest w stanie przyjmować dane. AVR odczytuje dane z karty SD do potrójnego bufora (z uwagi na brak DMA) i w procedurze...
petit fatfs odczyt atmega petit fatfs fatfs stm32
skrypt uruchamia automatyczny z18xe wymiana silnika zimnego nawiewu
pralka elektrolux pralka elektrolux
Diagnostyka przerwy w kablu skrętkowym Noyafa NF-8209S Schemat elektryczny pralki Electrolux EWS 11277 FW - jak zdobyć?