Tę tablicę alokujesz na stosie, a jego rozmiar jest zapewne nie za duży. Albo alokuj statycznie, albo powiększ stos w ustawieniach projektu.
W funkcji xmit_spi_multi() masz błąd. 4\/3!!
(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
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)...
(at) piotrva Dzięki za podpowiedź. Skróciłem przewody, mają <10cm. Dodałem dwa kondensatory filtrujące blisko karty (220uF + 100nF). Napięcie zasilania 3V (na oscylogramach widać wahania maks. +/- 25mV). Obniżyłem prędkość SPI z 4MHz do 250kHz (zmierzone). Objawy nadal te same. Karta 2GB nie współpracuje w ogóle. Pozostałe dwie kary startują raz...
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
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]
Polecam zostawienie przykładów z książki w spokoju, ponieważ oparte są na starej wersji biblioteki, przez co jest bardzo dużo z tym problemów. Polecam http://www.siwawi.arubi.uni-kl.de/avr_pr... skorzystanie z tego przykładu - w tym rozwiązaniu jest zaimplementowany terminal z większością funkcji...
A w funkcji print(); nie wykonujesz przypadkowo jakiś zapisów pod wskaźnik? Co jest w temp zaraz przed zapisem na kartę?
spróbuj może zmniejszyć freq na spi
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,...
A co to jest BOOL? Toto jest przed rcvr_datablock i nie podoba się kompilatorowi, co Ci wyraźnie pisze. Albert
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...
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...
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 ż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!!
Problem rozwiązany. Wystarczyło dodać do projektu grupę FatFs z plikami "sd_stm32.c" i "ff.c".
3 proces uruchomiony działa wspaniale aktualnie jest gruz z podłączeniem FATFS linker nie widzi plików najprawdopodobniej literówka gdzieś tylko że znajdowanie literówek to nie moja specjalność :D sytuacja opanowania stm32f10x_conf.h był żle skonfigurowany :D
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...
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 ....
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...
Ten opis tez nic nie mówi. Dalej brak kodu i debugu.
Dzięki Panowie za szybką odpowiedź :) bonczi7 LinkDriver użyłem niestety nic nie dało :( Marek_Skalski - nigdzie nie znalazłem nic na temat uruchamiania LSE do SD, a myślę że o SD przejrzałem cały User Manual od HAL jednak dla pewności uruchomiłem LSE jednak problem pozostał :( załączam zdjęcia po uruchomieniu LSE, Dla pewności użyłem programu od HAL-a...
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?
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.
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)....
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....
Ja mam...na LPC2103 ,STM32 i LPC1754 ...ale to chyba nie będzie Ci pasować :wink:.
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.
Witam, Od jakiegoś czasu pracuję nad obsługą karty SD oraz FatFS. Bazuję na przykładach dołączonych do książki "Mikrokontrolery STM32 w praktyce". Podczas debuggowania doszedłem do momentu w programie, który powoduje niepoprawne działanie. Otóż w funkcji disk_initialize( BYTE) znajduje się następująca linia: [syntax=c] if (send_cmd(CMD0, 0) == 1) [/syntax]...
Temat jakoś umiera śmiercią naturalną. Pozwolę sobie nieco odświeżyć. Hardware: - HY-mini (Cortex M3) - LCD ze sterownikiem ssd1289 (FSMC) - karta sdhc (SDIO) Software: - fatfs R0.10 („testowałem” też wcześniejsze wersje) - „HAL” dla fatfs – silnie wzorowany na przykładach dołączonych do HY-mini i przykładach sugerowanych...
Funkcja SD_Init() wywołuje między innymi SD_LowLevel_Init(). Z tego co się wstępnie przyjrzałem inicjowane są piny PC8 - PC12 czyli tak jak trzeba. W czasie świąt postaram się sprawdzić w którym dokładnie miejscu funkcja się wywala i opiszę co dokładnie udało mi się ustalić. Tymi funkcjami możesz zapisywać i odczytywać bloki z karty SD. Jak to opanujesz...
Cześć! Dostałem mocno bojowe zadanie napisania programu dla STM32F429-Discovery w którym będę odczytywał pliki .mp3 z kart SD. Niestety po moich usilnych staraniach dotarłem do punktu z którym nie mogę sobie poradzić. CubeMx nie wspiera z "palca" SPI przy FatFs, a sam nie mam na tyle doświadczenia z tymi płytkami (co najwyżej Arduino, ale wstyd mi porównać...
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.
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...
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...
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.
Ściągnąłem najnowsze biblioteki fatfs, kompiluje i mam problem z sdcard.h oraz atadrive.h skąd je wziąć ? Poprawiam pisownię...
Generalnie niezbyt wiem nad czym tu debatować. Problem na 99,666% jest spowodowany błędnym działaniem warstwy obsługi sprzętu, czyli funkcji odpowiedzialnych za zapis/odczyt karty np. po SPI. Przecież nawet dokładnie to jest napisane w komentarzu przy kawałku kodu który zacytowałeś - "/* An error occured in the disk I/O layer */". Dlaczego warstwa obsługi...
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.
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...
https://obrazki.elektroda.pl/6678526600_... https://filmy.elektroda.pl/59_1553290096... https://obrazki.elektroda.pl/6296500900_... https://obrazki.elektroda.pl/9260337200_... Zapewne nic odkrywczego ale wolnej chwili udało się połączyć parę projektów i wyszło takie coś. Jeśli chodzi o hardware to...
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ć...
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...
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...
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.
Dzięki za podpowiedź. Przez te problemy z instalacjami trochę można się zniechęcić ;) Jak można "dopiąć" pliki HALa bezpośrednio do projektu jeśli ma się tylko skonfigurowanego np. Eclipsa pod STM32? 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,...
(at)maksym92 Być może masz problem z funkcją, która zapisuje blok. Nie sprawdzasz statusów zwracanych przez funkcję. Radzę uruchomić debugger i sprawdzić czy przykładowo nie masz timeoutu np tutaj: [syntax=c] wait = 0x7fff; // Recommended timeout is 250ms (500ms for SDXC) FIXME: 0x7fff is set by sight, need calculate more adequate value do { cmdres...
Pewnie inna wersja bibliotek kompilatora, inaczej zadziałały wewnętrzne nagłówki albo coś takiego i tyle. Generalnie używanie jakichkolwiek "typowych" nazw z standardowej biblioteki jest słabym pomysłem i nawet jakbyś nie miał warninga/errora to lepiej nie kusić losu. Dziś działa, jutro już nie. Dodano po 36 W tamtym temacie pokazałeś błąd w funkcji...
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...
Też tak uważam. I też tak uważa Martin Thomas, autor pliku sd_spi_stm32.c, który mam w pakiecie z FatFs. To znaczy żeby ktoś sobie nie pomyślał - tak czy siak będzie czytać kartę. Różnica jest w tym czy linia SCK po zakończonej transmisji powinna być w stanie niskim czy wysokim. Wydaje mi się że bezpieczniej jak jest w stanie niskim czyli w tym zaproponowanym...
Ciekawy problem... FatFS powinien działać bez problemu na takiej pamięci. Trzeba tylko zaimplementować funkcje dostępu do klastrów i stworzyć system plików. Zrobiłem szybki reaserch i w sumie nie znalazłem żadnych konkretów jak to zrobić. Poczytaj jak wygląda tablica plików i wgraj pustą do pamięci. FatFs powinien zaskoczyć. Nawet jak coś zrobisz nie...
Problem udało się rozwiązać, temat uważam za zamknięty
Tu konfigurujesz PD8: [syntax=c]#elif SPI_CH == 2/* PB12:MMC_CS, PB13:MMC_SCLK, PB14:MMC_DO, PB15:MMC_DI, PD8:MMC_CD */ #define CS_HIGH()GPIOB_BSRR = _BV(12) #define CS_LOW()GPIOB_BSRR = _BV(12+16) #defineMMC_CD !(GPIOD_IDR & _BV(8))/* Card detect (yes:true, no:false, default:true) */ #defineMMC_WP 0 /* Write protected (yes:true, no:false, default:false)...
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...
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...
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...
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:.
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...
Nie jest to możliwe - należy "zresetować" index i doczytać do tej pozycji która Cię interesuje. When a null pointer is given to the fno, the read index of the directory object will be rewinded. http://elm-chan.org/fsw/ff/en/readdir.ht... 4\/3!!
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...
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"...
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 Mam problem z debugowaniem układu, który opisywałem Utworzyłem nowy projekt, skonfigurowałem wszystko co trzeba, dodałem niezbędne pliki (źródła, rozbiegówka, skrypt linkera) i na posiadanej konfiguracji: - Eclipse Indigo (Build id: 20120216-1857) - OpenOCD 0.6.1 - arm-none-eabi-gcc-4_6 - JTAG-lock-pick Tiny 2 Freddiego Chopina pierwsze miganie...
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...
Witam, Mam problem - mam za zadanie zrobić coś w stylu skanera 3D na STM32. Na razie nie mogę opanować samej obsługi kamery w konfiguracji STM32F103VE+ wyśw. SSD1963 7" (zestaw EB-STM32_08_LCD7) i kamera OV7725 . Do zestawu dostałem przykładowe projekty w keilu. Bazując na projekcie do sprawdzania kamery z wyświetlaczem 4.3' wkleiłem działające biblioteki...
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...
Odczytaj sektor o numerze: 0x00000800 (sector_read(0x00000800)) i pokaz jego zawartość. Jeżeli tam nic nie ma to znaczy że nie masz utworzonej żadnej partycji i musisz ją stworzyć.
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...
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...
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ć.
(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]
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...
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...
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....
Witam, posiadam STM32F429 na którym chcę uruchomić klienta http używając lwIP Raw Api. Problem jest taki że program działa kiedy używam debuggera, bez niego funkcja tcp_connect() zwraca błąd -4: /** Routing problem. */ ERR_RTE = -4, void tcp_client_init(void) { /* 1. create new tcp pcb */ struct tcp_pcb *tpcb; tpcb = tcp_new();...
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]...
1. ~64kB 00-FFów to około 1/3 sekundy ciszy, sprawdziłem w edytorze audio, wszystko się zgadza Mierzyłeś czas odtwarzania i porównywałeś z oryginałem? Masz może próbkę dźwięku jak to słychać?
Dziękuję wszystkim za pomoc! Uruchomiłem bootloader z kartą SD, ale nie z projektu EP. Miałem duże problemy aby odczytać kartę SD. Wykorzystałem szablon Freddiego dla stm32f103 i FatFs w opcji read-only. Całość z obsługą prostego szyfrowania zajmuje mniej niż 8k. Odnośnie debugowania to łatwiej mi jest pisać i debugować osobno bootloader i główną aplikację...
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...
Rozumiem i widzę, że każdemu to wpajasz ale spójrz na kod który zamieściłem i jeśli możesz to wyprowadź mnie z błedu bo ja to widzę tak. Funkcja odbioru [syntax=c]void xmit_spi (BYTE Data) // Wyslanie bajtu do SD { while( !( SPI2->SR & SPI_SR_TXE )); SPI2->DR = Data; } static BYTE rcvr_spi (void) // Odebranie bajtu z SD { u8 Data = 0; while( !( SPI2->SR...
Jedyne co mogę doradzić, to aby przed każdą re-konfiguracją DMA wyjątkowo dokładnie dany kanał wyłączyć. Gdy używałem DMA w STM32F1, to często coś nie chciało działać jeśli przed re-konfiguracją nie wyzerowałem całkowicie rejestru CCR (jest w nim bit "enable") - może sprawdź u siebie coś takiego? U Ciebie może to nic nie dać, bo widzę że ten akurat...
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...
Witam serdecznie Kolegów! Aktualnie jestem w trakcie pisania gry typu labirynt z kulką na procesor ARM STM32F103VCT6. Wszystko mam pięknie i ładnie obsłużone (symulacja odbić od powierzchni płaskich, detekcja kontaktu z otworami) no ale zostało jeszcze najważniejsze - symulacja odbić kulki od kantów prostokąta. I tu niestety zaczynają się schody. Z...
Hm. No OK, Ale w przypadku danych, przeszkód brak. Co do kodu to faktycznie. Myśl. A jakby biblioteki nawet standardowe dodać do części stałej? A zdaje się można zrobić to przez linker. Umieścić tam stosy, FATFS itp do najniższej warstwy włącznie?
IMHO dużo zależy od tego ile standardowej biblioteki wykorzystasz i co dokładnie z niej weźmiesz - wiadomo że taki printf() czy funkcje zmiennoprzecinkowe trochę zajmują. U mnie rozpiętość jest spora - niektóre całkiem rozbudowane programy mają np zaledwie 10kB, niektóre większe - ze zmiennym przecinkiem w dużych ilościach - koło 30kB, a ostatnimi czasy,...
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ę....
proszę o krótkie review Widzę że znalazłeś linki do tej dyskusji, ale warto wspomnieć i tu - https://github.com/DISTORTEC/STM32F7-USB... - jest tu użyty host na F7, który jest zapewne identyczny jak na F4, więc większość rozwiązań można zastosować wprost. Zwracam Twoją szczególną uwagę na to, że w HALu i kodzie hosta musiałem wprowdzić...
Cześć, Może nie do końca do DIY, ale temat bardzo związany. Akurat tak się złożyło, że również uruchamiam analogiczną rzecz, tyle że na stm32f205, o ile sama biblioteka od usb zdaje się u mnie działać i osobno od karty sd, o tyle razem mają niejaki problem. Po uporządkowaniu całej konfiguracji, utknąłem w momencie gdzie windows widzi poprawnie urządzenie...
https://obrazki.elektroda.pl/5728250700_...
Uff.. W końcu wykroiłem co potrzeba ze schematu. Poniżej są dwa screeny obrazujące to jak idą linię danych z karty. Na pierwszym z nich jest CS a na drugim MOSI. MISO i SCK idzie w pobliżu MOSI. Zasilanie jest podbierane prosto ze stabilizatora a masa idzie na poligon, który tu jest niewidoczny aby nie zaciemniać. http://obrazki.elektroda.pl/2155653600_1...
Dzięki wielkie za odpowiedzi. Zbyt szybko rzuciłem się na to USB. Teraz, powoli zaczyna się wszystko klarować. Niestety sesja w pełni życia i muszę odłożyć projekt.
Ok jest postęp. Dałem rezystory pullup 4k7 i zaczęło prawie działać. Czemu prawie? Ano mam taki przykładowy kod: [syntax=c]BYTE res = 0; FATFS fs; FIL file; UINT len; char bufor[16]; memset(bufor, 0, 16); res = disk_initialize(0); res = f_mount(0, &fs); res = f_open(&file, "test.txt", FA_READ); if(res == 3) { HD44780_writeText(0, 0, "Error"); while(1);...
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, chciałem wykorzystać kartę microSD do odczytu obrazków w projekcie zawierającym wyświetlacz LCD, natomiast pojawił się pewien problem z funkcją f_open() w FatFs. Podczas testowania program gładko przechodzi f_mount() zwracając FR_OK, natomiast wykrzacza się przy f_open() zwracając błąd FR_NOT_READY. Przeczytałem zarówno na forum jak i w czeluściach...
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...
fatfs stm32 stm32 fatfs odczyt stm32f1 fatfs
naprawa zamka drzwi podgląd rejestrator felgi malowanie
przesterowanie wejścia tunera wsady biosu
Piec węglowy nagrzany do 70°C nie grzeje kaloryferów Amplituner buczy po włożeniu anteny - przyczyny i rozwiązania