Tu naprawdę nie trzeba nic więcej pokazywać bo nie ma nic ciekawego. A błędy transmisji callbackerror w HAL są obsługiwane? Nie widząc kodu nie wiem ale zgaduję, że nie. To jest ciekawe, że dopiero po drugiej próbie wysłania zwraca, że TX jest zajęty a pierwsza wysyłka jest ok. Kolejne próby wysłania nic nie dają gdyż jest cały czas zajęty. Nieobsługiwane...
Cześć! Po kilku małych projektach opartych na Nucleo i Discovery postanowiłem wykonać trochę bardziej skomplikowany i praktyczny projekt - odtwarzacz plików WAV z karty SD i... zwracam się do Was z prośbą o pomoc 😄 Projekt oparty jest o STM32F103RCT6 do którego podłączone jest gniazdo kart microSD i DAC (PCM1780). Za pomocą FatFs odczytuję plik WAV...
Co do konfiguracji PLL to nie wiem bo u mnie kodek był masterem i nie potrzebowałem konfigurować PLL. Możesz wymusić wyrównanie bufora przez: [syntax=c] __attribute__ ((aligned(4))) [/syntax] Na stm32f1 na pewno jest problem z DMA i SDIO w przypadku niewyrównanych buforów do 4. Ten bug jest o tyle nieprzyjemny, że w przypadku dużych transferów z/do...
Tak jak napisałem jeżeli nie implementujesz MSD przez USB to nie ma sensu. Inaczej robisz sobie na około. Pozdrawiam
Ja korzystam z tego http://cba.si/stuff/fatfs_diskio_sdcard_... Ok ale w jaki sposób mogę skorzystać z tej biblioteki? f_mount i f_open są w bibliotece fatfs.
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...
f_close zwraca 9 bo co niby ma Ci zamknąć? Okno w pokoju :)? Miałem to testowane, więc wpisałem dla ideii ;) Czy w projekcie posiadasz plik fatfs_platform.c? Ogólnie wstaw całe drzewo projektu, to mi trochę ułatwi. Nie, jest tylko: fatfs.c
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?
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",...
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...
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...
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...
W przykładach dla STM32F10C_EVAL(jest do pobrania przez Cube pod nazwą STM32Cube_FW_F1_V1.4.0) jest kod aplikacji z obsługą FatFs dla bibliotek HAL ale przy użyciu SPI. Nie wiem czy to ważne ale w porównaniu z tym kodem brakuje Ci linijki w tym stylu: if(FATFS_LinkDriver(&SD_Driver, SDPath) == 0)
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...
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...
Z tym że select() jest nazwą standardowej funkcji http://pubs.opengroup.org/onlinepubs/969... Wybierz sobie inną nazwę i problem z głowy.
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...
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...
Patrząc na liczbę tematów i problemów, chyba coś tam jest do poprawy. Może i tak, ale po pierwsze biblioteka jest stale rozwijana, a po drugie u mnie przynajmniej dokładnie ta sama wersja na procesorze AVR działa bez zarzutów (chodzą wszystkie karty jakie mam, czyli 1GB, 2GB uSD (3 lub 4 różne rodzaje), 4GB SDHC, 8GB SDHC). A tu taki dziwny problem...
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)...
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,...
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.
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...
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...
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
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...
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...
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...
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. 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...
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...
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.
słuszna "opieprzka" , Freddie :))) a więc wygląda to tak : #include "stm32f10x.h" #include "TouchPanel.h" #include "systick.h" #include "LCD/LCD.h" #include "SD_Card/sdio_sd.h" #include "FATFS_V0.08A/src/ff.h" #include "usb_lib.h" #include "hw_config.h" #include "usb_pwr.h" #include "stm32f10x_usart.h" #include <stdio.h> #include "Rtc/RTC_Time.h"...
Zaczynam się zastanawiać czy odpowiednio zmodyfikowałem skrypt linkera z przykładu (stm32f103xB) bo te cuda które się dzieją wskazują raczej na problemy ze stosem. Objawem problemów ze stosem są "losowe" zawieszenia programu lub tzw. "pójście w maliny". To że jakaś funkcja nie działa raczej nie ma nic wspólnego ze stosem... Modyfikacje skryptu linkera...
Witam, Program jak poniżej w debuggerze zaiwesza się już na lini f_open. W momencie gdy zakomentuje linie z buforem BYTE buffer[256] program rusza i otwiera plik. Również gdy zmniejsze rozmiar tablicy np do 20 to program też przechodzi dalej i fresult zwraca FR_OK. Czym to może być spowodowane ? [syntax=c]#include "stm32f10x.h" #include "stm32f10x_gpio.h"...
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...
a mam jeszcze takie pytanie, planuję mój program wykorzystać do akwizycji danych z czujników, fajnie by było gdyby plik na karcie sam się tworzył po włączeniu zasilania, jest może jakiś rejestr w mikrokontrolerze który ustawia jakąś flagę po włączeniu zasilania, żebym mógł go do jakiejś funkcji warunkowej wykorzystać? pracuję na mikrokontrolerze STM32F103RBT6...
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...
Przepraszam , że nie dokończyłem wczoraj ale przysnołem. Nie poszło tak prosto bo nie otrzymuje zapisu na kartę , cały program kompiluje się mi w porządku tzn otrzymuje hex -a, zadaniem poniżej przedstawionego programu jest tylko odczyt jednej wartości z wejścia adc1 oraz zapisanie jej na karcie do pliku o nazwie plik, poniżej przedstawiam listing z...
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...
Witam od dwóch dni walczę z bibliotekami Fatfs, i mam niezidentyfikowany błąd, wykończyły mi się pomysły. Sprawa wygląda tak posiłkuje się przykładami z książki STM32 w praktyce Autor: Krzysztof Paprocki. W zasadzie chce skompilować gotowy kod , (przykład R9 sd_fatfs) działam na układzie STM mini http://allegro.pl/zestaw-uruchomieniowy-...
Zajrzyj tutaj: http://stm32f4-discovery.com/2015/08/hal... JarekC
Hej, mam taki ciężki do przejścia dla mnie problem. Piszę program w którym wykorzystuję przerwanie od timera i nie mogę sobie poradzić z deklaracją zmiennych. Mam dwa pliki main.c i stm32f10x_it.c. W pliku main deklaruję zmienne globalne: #include "stm32f10x.h" #include "fatfs/src/ff.h" #include "fatfs/src/diskio.h" #include...
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...
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...
Dobrze pobłaczyłes karte? Może daj zdjecia układu?
Do funkcji f_mount() należy podać ścieżkę (stringa), a nie cyfrę. Proponuję tam wpisać po prostu: fresult = f_mount(&fatfs, "", 1);
Tak BTW to ja chciałbym tylko powidzieć, że FatFS ma swoje buforowanie, ale jeśli ciągle robisz flush() albo close() po zapisie to oczywiście buforowanie to nic nie daje... 4\/3!!
3... Coś jeszcze? EMC.
A nie ma sprawy. Projekt robiony w Coocox
stm32f1 zasilanie sleep stm32f1 bootloader stm32f1
ilość warstwa uniwersalny zamek centralny nagrywanie plików
oscyloskop szeregowo oscyloskop szeregowo
Epson L355 pokazuje brak tuszu, mimo że jest pełny Schemat UPS - Zasilacz bezprzerwowy: komponenty i działanie