W funkcji xmit_spi_multi() masz błąd. 4\/3!!
Nie znam tej biblioteki, pół minuty temu pobrałem jej źródła, ale z tego co patrzę, to struktura FILINFO zadeklarowana jakoś tak: [syntax=C]// FatFS R0.08b, ff.h typedef struct { DWORDfsize; /* File size */ WORDfdate; /* Last modified date */ WORDftime; /* Last modified time */ BYTEfattrib; /* Attribute */ TCHARfname[13]; /* Short file name (8.3 format)...
Odpowiednie przeróbki robisz w pliku sd_spi_32.c - konfiguracja peryferii. Natomiast w comm.c określasz interfejs dla terminala znakowego dla uart.
Dwa bufory uzupełniane danymi naprzemiennie najlepiej o rozmiarze będącym wielokrotnością jednego sektora SD ( chyba 512B ). Bufory muszą być na tyle duże aby w czasie zapisu na SD mieściły wszystkie dane z czujników. Coś więcej: [url=http://elm-chan.org/fsw/ff/en/appno... -> Using Mutiple-Sector Write Uwaga, karta SD szczególnie większych...
To nie zadziała w ten sposób... W swoim main() używasz bezpośrednio funkcji z biblioteki FatFs - np. f_open() (zwróć uwagę na podkreślenie). Potem - wewnątrz funkcji VS1003PlayFile() używasz standardowej funkcji fread() (zwróć uwagę na BRAK podkreślenia), a do tego jeszcze zamiast standardowego FILE do funkcji przekazujesz FIL z FatFs... Proponowałbym...
disk_initalization(0) odpowiada za init. Ciekawe zrodla: http://frank.circleofcurrent.com/cache/f... http://www.basementcode.com/avr/sd_fatfs... Polecam oczywiscie: http://gandalf.arubi.uni-kl.de/avr_proje... Powinno wszystko, wprawdzie sam jeszcze nie zdazylem uruchomic, ale obstawiam,...
Witam, staram sie wykorzystac karte SD do przechowywania danych uzywanych przez wyswietlacz (bitmapy etc). Korzystam z biblioteki FATfs i komunikacja SPI. Aby moc tego dokonac modul FATfs korzysta z sygnalu zegarowego, ktory co 10ms bedzie wywolywal funkcje [syntax=c]disk_timerproc()[/syntax] Do cyklicznego wywolania tej powyzszej funkcji staram sie...
Tę tablicę alokujesz na stosie, a jego rozmiar jest zapewne nie za duży. Albo alokuj statycznie, albo powiększ stos w ustawieniach projektu.
Problem rozwiązany. Wystarczyło dodać do projektu grupę FatFs z plikami "sd_stm32.c" i "ff.c".
Spróbuję zrozumieć ten kod, może uda się. Tam tak naprawdę nie ma czego rozumieć. To jest minimalnie zmodyfikowany FatFS - bardzo znana biblioteka, powszechnie wykorzystywana z mikrokontrolerami. Polecałbym nawet, żeby zamiast zajmować się analizowaniem kodu mojego projektu, zacząć od dużo lepszej dokumentacji samej biblioteki, na stronie jej autora....
(at)bartosz.tarnowski Na pierwszy rzut oka przekazujesz niezainicjalizowany wskaźnik do funkcji f_opendir . Prawdopodobnie przekazujesz również niezainicjalizowany wskaźnik do f_mount .
typedef char t_Ramka[6] t_Ramka RamkaA[85] albo zdefiniuj jako unia
Zmieniłem trochę w projekcie. Zastosowałem najnowszą wersję FatFS. Plik z konfiguracją funkcji zadeklarowanych diskio.h pobrałem ze [url=http://www.siwawi.arubi.uni-kl.de/a... strony i przerobiłem go by pasował do STM32L. Po testach objawy wyglądają tak: Karty 512MB i 16GB: porgram mniej...
Czy w STM32 przewody sygnałowe do karty SD trzeba jakoś specjalnie podciągać rezystorami, czy w dokładać jakieś w szereg do niektórych przewodów, aby był poprawny i pewny odczyt?
Straszne dziadostwo ten STM32 Jeśli już to nie STM32 ale biblioteki HAL. Nie pokazałeś kodu tylko jakieś fragmenty schematu też nie więc nie wiadomo czy problem jest w HAL czy w dziadowski kodzie lub złym schemacie. Stawiam na dziadowski kod lub schemat, bo obsługiwałem TFT i kartę SD w kilku projektach z F1 i wszystko działało.
do wgrania samego pliku .hex uzywam pragramu FlyMcu lub zl30prg lub STM32 ST-Link Utility
Witam, chciałbym stworzyć prosty układ pomiarowy, który by miał za zadanie pobrać w krótkim czasie sporą liczbę pomiarów (np 1000 pomiarów w ciągu sekundy przy 12 bitowym przetworniku adc) i jednocześnie zapisać te pomiary na kartę sd ( system plików fatfs ) po to aby móc swobodnie w dłuższym czasie przesłać otrzymane dane poprzez port rs232 na PC ....
No właśnie tak myślałem, że im bardziej rozbudowany program (ma więcej co robić), to trzeba zwiększać częstotliwość przełączania kontekstu, więc i narzut rośnie. No, ale skoro nawet przy 1000 nie jest duży, to OK :-) Od jakiegoś czasu przymierzam się do przejścia na jakiś RTOS, bo te moje maszyny stanów działają, owszem, ale im więcej zadań, tym bardziej...
Jeżeli używasz HAL, to musisz też uruchomić LSE albo ręcznie przerobić kod na używanie LSI. HAL używa LSE do odliczania czasu przy korzystaniu z FatFs. Gdybyś pokazał jak skonfigurowałeś interfejsy, zakładka Configuration, to wtedy można powiedzieć coś więcej. Możesz też próbować okrężną drogą i poszukać w sieci materiałów z ubiegłorocznych warsztatów...
Witam , czy uruchomił ktoś kiedyś fatfs z stm32 w TrueStudio ? Próbuje juz 2 tygodnie (oczywiście nie non stop :) ) i nic , co chwile jakieś błędy wywala mi kompilator , modyfikuje i modyfikuje kod i sam w końcu się pętlę . Prosze o wypowiedzi. A co za różnica czy to jest TrueStudio, eclipse czy notatnik.... Załóż nowy temat (ten jest o PetitFat)....
Sam main.c raczej nic nie da ale proszę. /** ****************************************... * File Name : main.c * Description : Main program body ****************************************... * This notice applies to any and all portions of this file * that are not between comment...
Witam Próbuję utworzyć plik txt na karcie sd korzystając z biblioteki FatFs zaimplementowanej na moim procku STM32F3 discovery. Niestety nie udaje mi się stworzyć takiego pliku, karta jest pusta a zmienna fresult wynosi 9 czyli FR_INVALID_OBJECT. W związku z tym wszystkim mam pare pytań odnośnie współpracy STM32 z kartą microSD. 1. Jak należy przygotować...
Dlatego, żeby to zrozumieć chcę wiedzieć, czy pod gołego Eclipsa skonfigurowanego pod STM32 można podpiąć tylko obsługę samego HALa? Oczywiście. Przepraszam za te pytania, ale zniechęciłem się do CubeMX i wolałbym pisać programy przez konfiguracje na poziomie rejestrów. Chcę też obsłużyć karty SD, ale znalazłem tylko biblioteki pod HALa (FATfs) i dlatego...
Załączam kawałek działającego kodu. Folder SDCard zawiera przykładowy kod zestawu ewaluacyjnego od firmy ST. Jest nieco zmodyfikowany od oryginału, niestety nie pamiętam źródła (możliwa płyta z przykładami do HY-Mini). W folderze FatFs biblioteka ChaNa w wersji 0.09a. Plik diskio.c uzupełniony o potrzebny kod.
Ja przedwczoraj odpiłem na LPC1343. Z czym masz problem? Tam jest tylko kilka funkcji do przeportowania (SPI + timer). Ja korzystałem z przykładu dla STM32 z poniższej strony. http://www.siwawi.arubi.uni-kl.de/avr_pr...
Dzięki. Możliwe że bingo. Kanały Timer'a1 są akurat dzielone z interfejsem SPI2. Jeszcze dzisiaj to sprawdzę. [Edit] Miałeś rację. Kanał OC1 Timera1 kolidował z spi2. Skorzystałem z OC4 i fatfs ładnie działa we wszystkich konfiguracjach. dzięki Pozdrawiam
[syntax=c] #include "stm32f10x_conf.h" #include "stm32f10x_gpio.h" #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" #include "misc.h" #include "stm32f10x_exti.h" #include "stm32f10x_flash.h" #include "integer.h" //#include "rtc.h" #include "diskio.h" #include "ff.h" #include "ffconf.h" #include "stdio.h" //------- Pin Defs...
tak, ale nie ma powtarzalności w tym co piszę - raz tablica jest ok, a w innym miejscu tak samo zadeklarowana tablica ma wpisane jakies "smieci". Robie o 2-3 elementy więcej niż wymaga tego zastosowanie ale czasami i tak jest niedobrze. Poza tym, zastosowanie biblioteki FATFS blokuje mi działanie USART-a 4tego. Zainicjalizowanie biblioteki nic złego...
Podaj schemat, kod - który nie działa, miejsce - w którym się zawiesza, wersję biblioteki FatFs - której używasz. Jaką kartę wkładasz (SD/SDHC), podaj minimum jej pojemność. Jak jest sformatowana (jaki jest system plików - wersja FAT!!!)? Kod jest bardzo prosty i wygląda mniej więcej tak: FATFS fs; FIL plik; FRESULT res; SD_LowLevel_Init();...
U mnie na płytce dołączonej do zestawu były takie przykładowe programy: • FATFS V0.08A-SD Card (obsługa systemu FAT na karcie pamięci - tym odczytujesz pliki), • GLCD (biblioteka do obsługi LCD - tym wyświetlasz odczytane dane). Możesz je połączyć razem i może coś z tego wyjdzie. Dodatkowo w programie demo jest wyświetlanie obrazków z użyciem...
Walczę dalej. Aktualnie udało mi się zmodyfikować projekt w sposób generujący najmniej błędów przy kompilacji. Całą bibliotekę przerzuciłem to innego folderu w drzewie projektu i wprowadziłem zalecane przez was zmiany tylko dla niego. Mój główny program korzysta jedynie z plików nagłówkowych z rejestrami ( #include <stm32f10x.h> ) i wydaje mi...
Osobiście nie zastanawiałem się nad tym długo, szukałem zestawu który ma chyba wszystko na pokładzie: Ethernet, Can, RS232, USB-RS, 485, pamięci Flash, Sram, Kartę muzyczną, Usb Host OTG, LCD + dotyk, złącze na karty SD i wiele innych... W polsce ktoś sprzedaje RedDragon za ~350zł ja zamówiłem to w chinach przez ebay i zapłaciłem z presyłką ~180zł uważam...
Działa. Wystarczyło zmienić szukany znak z backslasha na '\n'. Ostatecznie modyfikacja wygląda nastepująco: if (character == '\n') { __fputc_('\n', stream); __fputc_('\r', stream); continue; } Dopracowałem rownież funkcje usart_put_char, zamiast wprowadzać delaya sprawdzam flage czy UART zakończył poprzednią transmisję....
Witam. Zamierzam nauczyć się programowania mikrokontrolerów ARM - z rdzeniem ARM Cortex - M3 w języku wysokiego poziomu C. Nie ma dużego wyboru jeżeli chodzi o książki, zdecydowałem się na: "STM32. Aplikacje i ćwiczenia w języku C" M. Galewskiego (http://www.kamami.pl/index.php?ukey=pro... Zastanawiam się nad tym, jaki zestaw startowy...
Nie przesadzajmy - nie jest to znowu taki wielki problem. Co do sterowników urządzeń, to przy prostym założeniu można sprawę zredukować do zwyczajnego kodu jaki każdy tworzy bez RTOSów - to założenie to "danego urządzenia używa tylko jeden wątek". To pozornie wielkie ograniczenie w większości wypadków jest całkowicie słuszne, bo np. jak by wyglądał...
Witam, Usiłuję dodać obsługę karty SD do mojego projektu lecz bezskutecznie. Problem jest dość dziwny bo nawet na "czystym" projekcie wygenerowanym przez CubeMX nie chce działać o ile korzystam z SW4STM32. Jeśli zmieniam toolchain na MDK-ARM v5 to na czystym projekcie wszystko działa jak należy. Jakieś pomysły?
Wszystko zależy od konfiguracji fatfs. Nie możesz po prostu zrobić: [syntax=c]fr = f_open(&fil, "filea.txt", FA_CREATE_ALWAYS | FA_WRITE);[/syntax]
Po sprintf zawartość tmp jest prawidłowa po print tak samo, dopiero f_write powoduje uszkodzenie danych.
spróbuj może zmniejszyć freq na spi
To że generowane jest przerwanie i kod się zawiesza nie jest winą OpenOCD tylko kodu... sub.w sp, sp, #24576 ; 0x6000 sub sp, #32 w tym miejscu funkcja alokuje sobie na stosie 24576 + 32 bajtów - nie sądzę aby twój stos to przeżył... 4\/3!!
OK. Ja też jestem w pracy i nie zawsze mogę o tej porze coś robić. Ale dalej: Do testowego używania UARTA przyda się "podmienienie" standardowej obsługi funkcji printf na taką, która wysyła dane przez UARTA do naszej Windowsowej konsoli. Możesz to wpisac standardowo przed obsługą assert_failed() /** * (at)brief Retargets the C library printf function...
Zgadza się, są rozbieżności w tej bibliotece z dokumentacją. Ten FatFS pochodzi z CubeMX. Już sobie to ogarnąłem za pomocą wskaźnika na bufor LFN. Wykorzystałem wskaźnik znajdujący się w strukturze opisującej katalog, tylko czemu wskaźnik bufora LFN podpina do struktury katalogu zamiast do struktury samego pliku? Trochę dziwne. Poniżej struktura katalogu...
Cześć. Siedze już 2 dni nad kodem, prześledziłem wszystkie rejestry i nie wiem już co jest źle. Mam problem z komunikacją z kartą SD już na samym początku kiedy wysyłamy komendę CMD0 - przejście w tryb sterowania po SPI. Oto dołączam mój kod: Biblioteka SPI: PLIK Spi.h [syntax=c] /* * Biblioteka obslugi SPI */ #ifndef SPI_H #define SPI_H #include "stm32f37x.h"...
Próbuję odczytać plik .wav z karty sd przez FatFs'a i wysłać go na wyjście codeca. Odczytuję w przerwaniu po 512 próbek i zapisuję je do bufora, a kiedy bufor się skończy zapisuję bufor następnymi próbkami. Mam plik .wav z fs=44100Hz i sample rate = 16bit i w związku z tym mam dwa pytania: 1. Wartości w pliku .wav są zmiennoprzecinkowe, więc powinny...
Myślałem, że winą tych wszystkich anomalii są nie do końca działające drivery (po analizie odkryłem, że do 10% wartości przy odczycie było przekłamanych). Jednak po ich naprawieniu okazało się, że problem występuje dalej. Problem jest o tyle dziwny, że po każdym formatowaniu karty wysypuje się gdzie indziej. Raz (ale tylko raz) udało mi się nawet stworzyć...
Cześć, od długiego czasu próbuję zaimplementować moduł FatFs jednak strasznie szaleje i po każdym formatowaniu ląduje gdzie indziej (zgłasza inne błędy). Postanowiłem zejść do driverów karty i okazało się, że przy odczycie niektórych (ale ZAWSZE tych samych) pól sektora karta wysyła jakieś dziwne śmieci, których nie potrafię zinterpretować. Mój test...
Hmmm... U mnie ten projekt po rozpakowaniu się skompilował od razu, nawet nie otworzyłem Makefile żeby zobaczyć co w nim jest... [syntax=bash]>make Assembling file: startup.S arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m4 -mthumb -mfloat-abi=h ard -mfpu=fpv4-sp-d16 -ffast-math -g -ggdb3 -Wa,-amhls=out/startup.lst -DSTM32F 4XX -MD -MP -MF...
Tak jak napisałem jeżeli nie implementujesz MSD przez USB to nie ma sensu. Inaczej robisz sobie na około. Pozdrawiam
Ten opis tez nic nie mówi. Dalej brak kodu i debugu.
witam ponownie, po dłuższym czasie walczenia z uruchomieniem mikrofonu i odtworzeniem nagranego dźwięku niestety nie udało mi się osiągnąć zamierzonego celu. Po poszukiwaniach w internecie znalazłem pomoc na forum ST pewnego użytkownika jednak również po jego instrukcjach występuje kilka błędów. Instrukacja zgodnie z którą próbowałem uruchomić mikrofon...
Witam, Konfiguruje bibliotekę FatFS i przy kompilacji projektu wyskakują mi 2 błędy: FatFS/sd_stm32.c:413:9: error: conflicting types for 'disk_read' In file included from FatFS/sd_stm32.c:8:0: FatFS/src/diskio.h:37:9: note: previous declaration of 'disk_read' was here FatFS/sd_stm32.c:455:9: error: conflicting types for 'disk_write' In file included...
Cześć, mam problem z obsługa karty SD wykorzystując STM32, CUBEMX, bibliotekę FATFS. Na wstępie chce powiedzieć, że bez DMA działa wszystko ( żeby uniknąć pytań o schematy i dobre połączenie... ). Także problem pojawia się gdy w cubemx ustawie USE DMA TEMPLATE na enable ( czyli tak jak jest z default'a w tej bibliotece) ... Program wtedy nie jest w...
Niestety to nie pomogło. Przepisałem nawet wszystko z artykułu z EP pt. "Obsługa karty SD i FatFs", ale ciągle efekt mam ten sam.
Do "SRCS_DIRS" katalog dodajesz normalnie. Jeśli folder lib jest w głównym folderze projektu (tam gdzie Makefile), to po prostu dopisz tam "lib" - bez cudzysłowów lub z nimi - to raczej bez znaczenia - cudzysłowy będą konieczne, gdyby folder zawierał spacje lub inne dziwne znaki, więc lepiej darować sobie zawsze dziwne znaki i cudzysłowy. W przypadku...
Specyfikacja kart SD mówi że zapis pojedynczego bloku może trwać do 250ms a wielu bloków (tak jak w Twoim przypadku) 500ms. Ja osobiście rozwiązuję to w ten sposób, że tworzę cache bloków i w systemie wielowątkowym w jednym zadaniu cyklicznie wykonuję operację flush na cache. Wtedy większość operacji na pliku nie blokuje programu. FATFS takiego mechanizmu...
Właśnie teraz testuję sobie transfer z/do pena na STM32. Kod obsługi pena USB jest mocno oparty na firmware od ST do STM32F4 DISCOVERY. DO tego FatFS. Praktyczna (czyli już w systemie plików) prędkość zapisu/odczytu pliku to 720KB/s. Bez DMA.
Chodzilo mi o utworzenie dodatkowego urzadzenia z dwoma kanalami do komunikacji. Potrzebuje dostep z komputera do pamieci na karcie sd, tak samo uC tez musi miec dostep do tych danych. Udalo mi sie to osiagnac. Dodatkowo musze miec mozliwosc sterowania procesem, wysylac proste polecenia. Wszystko po jednym kablu, konkretnie USB. Chcialem komunikacje...
Dołączę się do tematu: 1. Czy w przypadku karty SD ta opcja na pewno jest poprawna? Też tak uważam. I też tak uważa Martin Thomas, autor pliku sd_spi_stm32.c, który mam w pakiecie z FatFs. Oprócz tego jest tam jeszcze taka różnica: 2. Czy spotkał się ktoś z tym że mimo iż rejestr: SPI2->CR2 = SPI_CR2_DS_2 | SPI_CR2_DS_1 | SPI_CR2_DS_0; jest ustawiony...
Ja moją przygodę z FatFs na STM zaczynałem od tego: http://code.google.com/p/treckker/source... i poszło od pierwszego ruchu. Pozdrowienia, m.ki
witam Mam prosty projekt (eclipse,st2link,openOCD), miganie diodami i przerwania od SysTick, projekt działa ok, normlanie mozna debugować itp. Nastepnie do tego projektu dołożyłem moduł FatFS. Projekt sie kompiluje ale przy debugu jest problem, po załadowaniu pliku, debuger nie zatrzymuje się na pierwszej funkcji w main jak to mialo miejsce w podstawowym...
Z gotowymi bibliotekami bywa różnie. Zwykle jak coś chcę zrobić inaczej to okazuje się że szybciej napiszę od nowa jak uda mi się dowiedzieć o co chodzi i zmodyfikować gotowca. Bywa też że gotowiec nie chce wcale działać. Miałem tak ostatnio z bibliotekami USB do CH554. Niby coś się "ruszało", ale finalnie żadnego efektu. Żaden z hubów który podłączałem...
FAT na karcie SD nie wymaga ściągania "znienawidzonych bibliotek producenta". Odwiedź stronę twórcy biblioteki. Wystarczy edytować funkcję oznaczone jako Platform dependent. Przeglądnij przykład dla LPC17xx.
Nie podoba mi się układ kodu generowanego przez ten system, a przede wszystkim konieczność pisania w zdefiniowanych miejscach pliku. Nie musisz całkowicie rezygnować z CubeMX, bo jest dość pożyteczny. Ale możesz go użyć raz, jako "generatora" poprawnej aplikacji a później przerobić według uznania projekt, powyrzucać te specyficzne komentarze i inne...
Z tym że select() jest nazwą standardowej funkcji http://pubs.opengroup.org/onlinepubs/969... Wybierz sobie inną nazwę i problem z głowy.
https://obrazki.elektroda.pl/2759406900_... 8-bitowe mikrokontrolery nadal można znaleźć w wielu projektach, ale dzięki nowemu, niedrogiemu 32-bitowemu z rdzeniem AMR Cortex-M0+ taktowanym 48 MHz — STM32C0 — firma STMicroelectronics dąży do wyparcia 8-bitowych jednostek. Co może się odbyć wskutek: „ograniczonego wpływu...
FatFS, może faktycznie lepiej spróbować PetitFS... Bardziej chodziło mi o to, że gdybyś używał PetitFS to zapewne jego ograniczona funkcjonalność mogłaby (bo pewny nie jestem) się przyczyniać do niskiej prędkości. Co ciekawe kiedy podglądam ten plik hexedytorem widzę, że kolor to 7C00 a powinien być chyba F800 (lub coś podobnego chociaż). Z bitmapami...
Mogę pomóc, lecz musisz pokazać kod do gadania z kartą oraz kod do usb...
a obsługę peryferi dopisuje sobie programista używający RTOS'a? Dokładnie tak. RTOS może być na różne ARM (STM32, NXP i wiele, wiele innych), AVRmega, Xmega i inne uC, więc nierealne jest aby zapewniał wszystkie możliwe drivery, chyba, że to byłyby uC z GB pamięci. Podobnie FatFS, samą komunikację z kartą trzeba zapewnić samemu, jam w CPM.
CubeMx nie wspiera z "palca" SPI przy FatFs, Wystarczy uzupełnić 3 funkcje jak dobrze pamiętam. Można więcej jak detekcja karty ale nie jest to niezbędne. Uzupełnić to trochę za dużo napisane, wywołać inna funkcję HAL. MS: <ciach>
Czy mógłby mi ktoś wyoślić , jak w C można uzyskać nałożenie małej grafiki na większą pełnoekranową w wyświetlaczu LCD-TFT ? Telegraficzny skrót problemu: -na LCD z karty SD wczytuję obrazek (na cały ekran , 320X240 , kolor, grafika "bazowa") , używam bibliotek GLDC , FatFS.Wrzucam plik odczytany z SD do zadeklarowanej tablicy i potem pętlą wczytywane...
Tak to ja, dołączam kod - main.c: [syntax=c]#include "main.h" #include "fatfs.h" SPI_HandleTypeDef hspi2; TIM_HandleTypeDef htim2; UART_HandleTypeDef huart2; void send_string(char* s) { HAL_UART_Transmit(&huart2, (uint8_t*)s, strlen(s), 1000); } volatile uint16_t Timer1=0; uint8_t sect[512]; //char buffer1[512] ="Selection of VAM is set by the previous...
No jak tak za każdym razem będziesz musiał to powodzenia. A jak jakiś FATfs albo LWIP to zajmie Ci to trochę. Pamiętaj, że generujac projekt musisz mieć wybrany sw4stm32 oraz aby przekopiować pliki do workspace. Tu masz instrukcję http://www.openstm32.org/Importing+a+STC...
mkochniarczyk(at)ensyst.pl Kartę mam na SPI1, lecz i tak korzystam z FatFs i inicjalizacji SD zawartym w bibliotece. Jak pisałem wyżej też próbowałem odpalić przykłady ST...ale się nie udało. Gdyby Twoje biblioteki ruszyły skłonny Ci jestem za nie nawet zapłacić (a punkty swoją drogą) :wink:.
Obsługę FatFs już mam. Tworzę pliki, zapisuje do nich itd. Strona na pewno będzie dynamiczna, ponieważ chcę tam miec przyciski, statusy wyjsc itp.
Witam, Ten problem już rozwiązałem - musiałem zmienić ustawienia zegara. Kolejnym problemem jest FatFs. Gdy wykonuje f_mount dostaje FR_NO_FILESYSTEM Ktoś pomoże?
Witam kolegów forumowiczów otóż jestem posiadaczem płytki REDBULL z mikrokontrolerem stm32f103 Udało mi się obsłużyć kartę pamięci na magistrali SDIO z najnowszą biblioteką FatFs. Obecnie chciałbym wykonać fotoramke (w celach edukacyjnych) i udało mi się obsłużyć pliki *.bmp i w danym momencie poprzez funkcję f_readdir odczytuje/wyświetlam kolejne pliki,...
http://obrazki.elektroda.pl/2247266700_1... Witam. W Internecie można znaleźć dużo przykładów, jak odtwarzać przez mikrokontroler dźwięk takimi sposobami, jak PWM czy DAC na interfejsie I²S. Niestety, ale jakość dźwięku PWM-a mnie nie zadowala, a zewnętrzny DAC nie wchodził w grę, ponieważ mój mikrokontroler nie ma wspomnianego...
Witam, mam problem z uruchomieniem karty SD przed SDIO w trybie "SD 4 bits Wide Bus" w tym trybie (przez FATFS) dostaję błąd "FR_DISK_ERR". Gdy ustawiłem tryb "SD 1 bit" to wszystko działa jak powinno. Wszystkie linie danych jak i linię CMD podciągnąłem rezystorami 47kohm. Czy jest coś co muszę dodatkowo zrobić po zmianie trybu z 1 bit na 4 bits? (oczywiście...
Dzień dobry! Poniżej kawałek kodu, trochę nie ociosany, co prawda, ale może rzuci jakieś światło na problem. [syntax=c] #include <stdio.h> #include <string.h> #include "stm32f4xx.h" #include "FreeRTOS.h" #include "task.h" #include "timers.h" #include "semphr.h" #include "misc.h" /* moje */ #include "sine.h" #include "timer.h" #include "leds.h"...
Pakiet występujący dawniej pod nazwą ThreadX nazywa się teraz Azure RTOS ThreadX i jest już port na niektóre STM32. Pierwszy pakiet zostanie udostępniony dla STM32H7 w 21Q1. Kolejne będą L4 i F4 (21Q2), F7, G4, L5 (21Q3), G0, WB i WL (21Q4). Pozostałe linie nie będą wspierane, ponieważ nie są w żaden sposób rozwijane. Po uzupełnieniu o dodatkowe moduły...
Witam, Piszę z prośbą o pomoc, a dokładniej o analizę, bądź też kawałek kodu z działającego przykładu. Kartę podłączyłem po SPI3 oraz zastosowałem FatFS. Wyczerpały mi się pomysły co robię źle. Przy fresult = f_open( &plik, "test.txt", FA_CREATE_ALWAYS | FA_WRITE ); dostaję FR_DISK_ERR. Czy ktoś z kolegów może zobaczyc na plik konfigurujący...
Witam, Mam problem z podłączeniem karty SD do mikrokontrolera. Skorzystałem z programu który znalazłem w przykładowych projektach dla płytki z procesorem STM32F373 (FatfsuSD dla dla STM32F303RE-Nucleo ). Program się kompiluje i uruchamia poprawnie ale niestety na karcie SD nic sie nie zapisuje. Mogłby ktoś zerknac na projekt i wskazać mi co jest źle....
Sprawdzałem kolejność funkcji inicjowania, była prawidłowa. Errata milczy nt. I2S2. Okazało się że... 1) Mój bufor audio jest typu int16_t (2 bajty), natomiast funkcja f_read jako ilość informacji do odczytu oczekuje wartości w bajtach, dlatego AUDIO_BUFFER_SIZE / 2 sprawiało że wypełniana była 1/4 bufora. Po zamianie na AUDIO_BUFFER_SIZE wypełniane...
używasz biblioteki FatFs? Czy ona nie działa po SPI? Wg schematu do Twojej płytki, końcówki które masz podłączone do czytnika SD nie są dedykowane do SPI. Wg tego co widzę to SPI1 masz poprowadzone do TouchPanel a SPI2 do AudioCodec. Przejrzyj Pinouts and pin descriptions w dokumentacji STM32. Zobacz co jakim pinem możesz obsługiwać.
Nie znam CooCox'a, ale proponuję Ci utworzyć standardowy projekt pod Twojego procka, dodać i uruchomić FatFs, a reszta to tylko [syntax=c] // Zamontowanie karty SD fresult = disk_initialize(SD_CARD); if(fresult == FR_OK) fresult = f_mount(SD_CARD,&fs); // Sprawdzenie czy jest plik z programem if(fresult == FR_OK) fresult = f_open (&file,"update.bin",...
Mam problem z najnowszą biblioteką FatFs. Wszystko działa idealnie na SPI1, a na SPI2 nie chce chodzić. Może ktoś z doświadczonych kolegów zerknie na konfigurację. Przy ustawieniu SPI_CH na 1 wszystko śmiga jak należy, przy 2 tylko rozpoznaje, że karta jest włożona lub wyjęta. Przyglądam się temu i nie widzę błędu. Co tu jest nie tak? [syntax=c] #define...
(at)conkerkh Z tego co pamiętam to fatfs nie zapewnia tego, że dane przekazywane do diskio_write są wyrównane do 4 bajtów. Na wszelki wypadek sprawdzałbym to. [syntax=c]if ((size_t)buff & 3) { //OMG }[/syntax]
Cześć, Korzystam z płytki STM32VLDiscovery (z programatorem ST-LINK), Keil uVision. Po raz kolejny wziąłem się za ARMy. I wszystko pięknie szło do czasu, aż zamarzyłem o fatfs. Bibliotekę dołączyłem, przepisałem kod tak, żeby nie korzystał z biblioteki stm32 standard peripherials. Uruchomiłem debugowanie - 17KB ma kod i... właśnie - w debugerze jak...
Obrazki zmieniłem. Winą jest linker. Dodam na końcu 2 linkery których używam, dobry i zły. Dobry jest starym linkerem, który nie ma HEAP'a (Freedie chyba wiesz o co chodzi) drugi jest z HEAP'em z przykłady migających LEDów ze strony Freddiego. Chodzi o to, że po wywołani funkcji np. f_open (FatFS) na początku tej funkcji w assemblerze jest instrukcja...
Witajcie. Zacząłem jakieś 2 miesiące temu przygodę z ARMami na przykładzie STM32. Moim celem jest przygotowanie samochodowego odtwarzacza mp3 zastępującego zmieniarkę CD. Początek zabawy przeszedł dość gładko i po paru dniach już odtwarzałem muzykę z pendrive'a. Jednak odbywało się to w pętli, więc równoczesna aktualizacja wyświetlacza czy inne czynności...
Nie pochwalę się pewnie teraz wiedzą ale już piszę co zrobiłem że mi zaczął freertos banglać.. :) A więc - podpięte przerwania miałem w pliku stm32f10x_it.c: [syntax=c]void SVC_Handler(void) { vPortSVCHandler(); //FreeRTOS SVC Handler } void PendSV_Handler(void) { xPortPendSVHandler();//FreeRTOS PendSV Handler } void SysTick_Handler(void) { xPortSysTickHandler();//FreeRTOS...
Cześć, w moim kodzie dodałem te poprawki https://github.com/DISTORTEC/STM32F7xx_H... i po intensywnych testach polegających na intensywnym wkładaniu i wyjmowaniu (:]) pendrive w losowych momentach, znalazłem jeszcze jedne problem, mianowicie funkcja USBH_HandleEnum() z usbh_core.c ignoruje błędy...
Dzisiaj przesiadłem się na stm32l433 i znowu CubeMX stworzył kod w którym TrueStudio pokazuje błędy: Unresolved inclusion: "stm32l4xx_hal_exti.h" Unresolved inclusion: "stm32l4xx_hal_dma_ex.h" Mam teraz CubeMX 5.2.0 który ściągną sobie STM32Cube FW_L4 V1.6.0 . Czy ja coś robię źle, czy to norma w kodach CubeMX? PS: poza tym gdy sprawdziłem działanie...
Usiłuję uruchomić pewien projekt oparty na FreeRTOS i procesorze STM32. Jest napisany w Keil uVision 4. Niestety pech chciał, że rozmiar kodu już przekroczył magiczne 32kB i nie mogę go skompilować w wersji Demo (na pełną na razie mnie nie stać, bo kosztuje majątek). Starałem się poobcinać biblioteki z niepotrzebnych rzeczy (GLCD, FATFS). Zrobiło się...
Zrobiłem coś takiego: - buforuję transmisję do STM32 (10 ramek * 400B = 4KB) i wtedy wykonuję zapis Niestety zapis na kartę 4KB trwa więcej niż 1 sekundę (raz na kilka minut) i mam overrun transmisji do STM32. A nie myślałeś, żeby łączyć się z kartą przez DMA? Wówczas odpalasz transfer tych 4KB i o nim zapominasz, idzie sobie asynchronicznie do programu....
50 kB na taki projekt to przecież nie jest jakoś specjalnie dużo. uyheeyeyyyyy, nie? 24kb na biblioteki (c) wydaje mi się dość sporo... wynik takiej oto komendy - `arm-none-eabi-nm -ClS --radix=d --size-sort tutaj-nazwa-twojego-pliku.elf` To bardzo fajna komenda, wklejam końcówkę bo Elektroda nie puszcza: [syntax=bash]536876876 00000001 B Appli_state/home/maciej/dron2/output//.....
Eh... co do tego czy wiem czy nie wiem do czego to służy... Niech będzie że nie wiem, naprawdę nie robi to żadnej różnicy... Zasugerowałem się innym przykładem nt. I2S, ok był błędny lub nieadekwatny ale od momentu kiedy napisałeś żeby to wyrzucić nie używam tych linijek, ba! nawet napisałem, że kod niezależnie czy one są czy też nie i tak nie działa......
jak wyłączyć funkcję _sbrk_r()? Zajrzałeś choć do tego pliku syscalls.c? Co do meritum - u mnie to co chcesz osiągnąć "po prostu działa" i nie było z tym nigdy żadnego problemu. Tyle że ja nie używam plugina który generuje Makefile - mam swój plik Makefile, stworzony "ręcznie". Z drugiej strony u mnie kompilacja wygląda podobnie: 97) [0.248s]...
Witam, Próbuje uruchomić obsługę karty SD pod STM32f103ZET6. Wykorzystuje do tego bibliotekę, używaną wcześniej pod STM32f407. Zmodyfikowałem tylko inicjalizacje SPI i dorzuciłem testową funkcję zapisu do karty. Mimo to karta nie chce ruszyć. Przy próbie otwarcia jakiegokolwiek pliku dostaje: FR_NOT_READY. Próbowałem już na dwóch kartach SD, formatowałem...
Mam mikrokontroler STM32F411 (płytka Nucleo). Chciałbym zrealizować kopiowanie plików między pendrivem a kartą SD używając biblioteki FATFS. Nie znalazłem w niej funkcji kopiowania plików. Czy wykonanie takiej operacji poprzez otwarcie obu plików i przerzucanie danych przez bufor jest sensownym rozwiązaniem? A może są lepsze metody?
fatfs stm32 stm32 fatfs odczyt stm32f1 fatfs
dolny osłona candy gotować falowanie wolnych obrotow
optotriak obciążenie indukcyjne serwis viessmann
Przestrojenie radia Sherion SH-300L na pasmo 87,5 MHz Przełączniki paliwa w gaźnikowcach a wtrysk paliwa