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...
do wgrania samego pliku .hex uzywam pragramu FlyMcu lub zl30prg lub STM32 ST-Link Utility
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.
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?
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 ....
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)....
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();...
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ć...
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...
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
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 dlaczego? Częstotliwość zmian kontekstu wpływa tylko na "responsywność" programu... W NuttX chyba jest 100Hz, a domyślnie 50. Muszę tylko trochę poszperać i zobaczyć czy jest RTOS,...
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...
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...
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...
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ę....
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...
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?
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...
[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...
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!!
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"...
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...
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...
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, 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...
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>
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.
fatfs stm32 stm32 fatfs odczyt stm32f1 fatfs
detektor kryształkowy rezystor czujka satel elfon programowanie
renault pyren piecyk gazowy termet
Emtel FX3000 - przegląd funkcji i zastosowań Rezystancja czujnika ABS Ford S-Max 2012 - wartości