Dzień dobry, od dłuższego czasu próbuję wykonać projekt sterowania Transceivera RF CC120 firmy Texas Instruments za pomocą mikrokontrolera STM32F100RBT6B, który jest na płytce uruchomieniowej STM32VLDISCOVERY. Mam już napisaną część kodu, jednak nie jestem pewien czy SPI jest faktycznie poprawnie uruchomione oraz (i tu prośba do kogoś, kto się orientuje...
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...
Witam! Mam problem z fatfs 0.09b (najnowsza; wersja 0.07 też nie działa) pod stm32f103vet6. Komunikacja SPI. Maksymalny prescaler SPI do debug'u. (Na każdej prędkości to samo). Disk timer proc na SysTick'u (działa). Karta formatowana na różne jednostki alokacji, FAT, FAT32 zawsze to samo. Nie korzystam z LFN. Strona kodowa 852, 125x, 1 (ANSI) bez znaczenia....
Wykonywanie jekichkolwiek zmian w pliku integer.h dostarczanego wraz z biblioteką fatfs - to raczej średnio dobry pomysł, zwłaszcza, że są tam tylko definicje niezależne od platformy. Jedyne co trzeba zmienić / napisać to kilka funkcji w diskio.c (lub jak w twoim przypadku sd_spi_stm32.c. Poniżej zawartość pliku diskio.c z innego projektu, ale nie wiem...
Co do rady abym zaczął od małych kroczków , to akurat robię łącząc jeden odczyt z adc i zapis do karty (Póki co Rs'a - bedzie to następny etap).Wyświetlacz mam ale on pracuje na drugim spi i na wszelki wypadek nie używam , z diodami to pomyśle, natomiast debuger jest mi obcy ( mam programator zl30prg i niepełnego keila ) Co do kolejności rozbudowywania...
(at)qaz88 Probuje najprostsza komende CMD19 metoda pulling po ktorej wg. noty powinienem dostac 64 slowa a zamiast tego mam CMD timeout error. Co robie nie tak? To nie jest najprostsza metoda odczytu bloku. CMD19 is defined for Send Tuning Block Command. R1 type response is defined. CMD19 can be executed in transfer state of 1.8V signaling mode while...
pobrałem coocox z oficjalnej strony, zainstalowałem wszelkiego rodzaju sterowniki tak jak to jest pokazywane w tutorialach, aczkolwiek w dalszym ciągu próbując wgrać program do procesora wyskakuje błąd: Error: Flash driver function execute timeout Program Download Failed ! Erase:[ 0%] komputer widzi płytkę (jest to STM32 L1 Discovery), program STM32...
Witam serdecznie, Posiadam płytkę HY-Mini z prockiem STM32F103VCT6 i programator zgodny z CoolinkEx. Po tym jak kilkanaście razy zaprogramowalem układ zaczął pojawiać się następujący komunikat (czy to z CooCox IDE czy CoFlash): Error: Flash driver function execute timeout Nie udaje się też debugowanie w RAM (ale wczesniej nie probowalem, wiec moze po...
Bardzo fajne rozwiązanie. Systick i tak hula więc można się pod niego podpiąć. Patrzcie to: [syntax=c] HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) { if(hi2c->State == HAL_I2C_STATE_READY) { if((pData == NULL) || (Size == 0)) { return HAL_ERROR; } if(__HAL_I2C_GET_FLAG(hi2c,...
Edit: DMA nie działało bowłączałem DMA2 a nie DMA1. Napiszę jak dalej pójdzie :] Cześć, mam pewne problemy z I2C, bazowałem na zmodyfikowanym kodzie od ST (jak mnie pamięć nie myli) najpierw używałem samych przerwań na najwyższym priorytecie jak ST przykazało, niestety od czasu do czasu zdarzało się że RTOS wyłączał wszystkie przerwania i przy odbiorze...
Mam problem z wgraniem programu do procesora po tym jak wrzuciłem do niego program mający zapisywać dane do pamięci flash w trakcie jego działania (kod do emulacji eeproma zaczerpnąłem: http://www.elektroda.pl/rtvforum/topic21... Aktualnie każdorazowo po próbie przeprogramowania procesora wyskakuje mi komunikat „Flash timeout. Reset and...
Generalnie zawsze czekam na OK lub ERROR ponieważ moduł zawsze odpowiada w ten sposób, oczywiście wszystko z określonym timeout-em. Czas odpowiedzi modułu to min 70ms na prostą komendę więc w tym czasie "robię" pozostałe rzeczy. Sprawdzanie flagi i timeout-u znacznie przyspieszy mi działanie całości w porównaniu do przeszukiwania bufora odbiorczego...
Poniżej jest przytoczony fragment zapisu startu ARMputera BF210. Jak widać bootloader U-boot również raportuje błąd w czasie wykonywania komendy 8, ale radośnie go zlewa i ty uczyń podobnie. Komendę podaj, wyniki zlej. U-Boot 1.3.3 (Dec 15 2008 - 18:17:51) DRAM: 32 MB Atmel: Flash: 0 kB DataFlash:AT45DB011 Nb pages: 512 Page Size: 264 Size= 135168 bytes...
Ok, compiling cppsupport.c... ..\..\..\Libraries\ISIX_RTOS\include\isi... warning: #260-D: explicit type is missing ("int" assumed) ..\..\..\Libraries\ISIX_RTOS\include\isi... error: #65: expected a ";" ..\..\..\Libraries\ISIX_RTOS\include\isi...
Witam, piszę obsługę SD według tej samej strony [url=http://jaras.com.pl/2017/12/03/sd-k... co autor tego tematu. Gdy karta jest wyjęta to pojawia się błąd niemożności zainicjowania karty =1 z funkcji: [syntax=c]uint8_t SDSPI_Init(SPI_HandleTypeDef *phandle) { HAL_GPIO_WritePin(SDSPI_CSPORT, SDSPI_CSPIN, GPIO_PIN_SET); HAL_Delay(10);...
Chcę użyć biblioteki fatfs do współpracy z kartą SD. Mam problem ze skompilowaniem dwóch funkcji, przy których dostaję dziwny błąd: ...\src\fatfs\sd_stm32.c:181:6: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'rcvr_datablock' Dodam jeszcze, że podczas pracy w uVision owe funkcje kompilowały się prawidłowo i bez zastrzeżeń, a urządzenie...
Wydawało mi się, że to tylko w tych przypadkach: If a misplaced Stop is generated on the bus, the peripheral cannot enter master mode properly: ● If a void message is received (START condition immediately followed by a STOP): the BERR (bus error) flag is not set, and the I2C peripheral is not able to send a start condition on the bus after the...
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...
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...
Witam, mam problem z odbieraniem danych przez i2c z użyciem mikrokontrolera stm32f103. Sytuacja wygląda tak, że potrafię przesyłać dane po i2c, (wysyłam adres, czujnik odpowiada, wysyłam mu komendę wykonania pomiaru, wiem że go wykonuję ponieważ wtedy "mruga" diodą), niestety mam problem z odbieraniem danych. Testowałem już wiele funkcji z sieci, ale...
Witam. Piszę właśnie program, którego zadaniem jest pobranie 1 klatki (zrobienie zdjęcia) z kamery MT9D111 (nota katalogowa: http://www.dragonwake.com/download/camer... ) Klatki z kamery będzie pobierał mikrokontroler STM32F429, taktowany częstotliwością 180MHz. Wzoruję się na informacjach zawartych na stronie: http://www.stm32.eu/node/307...
Kod do obsługi warstwy fizycznej: http://obrazki.elektroda.pl/4533176200_1...
A co jeśli HSEStartUpStatus != SUCCESS? Taktowanie zostanie pozostawione jako domyślne. Prawdopodobnie taktowanie zostaje na 8MHz. I czasami tak się właśnie dzieje, program rusza ale chodzi dużo wolniej. Jaki masz czas oczekiwania na start HSE? Dokładnie nie wiem. Wykorzystuję bibliotekę STMa więc wydaje mi się prze powinien być poprawny ale dołączę...
Cześć, mam problem ze startem zewnętrznego kwarcu 16 MHz w STM32F030K6T6. Nota katalogowa mówi, że akceptuje on oscylatory z przedziału 8 - 32 MHz. Przy kwarcu są oczywiście dwa kondensatory 15 pF. W domyśle chciałbym uruchomić PLL x3, żeby mikrokontroler pracował z prędkością 48 MHz. Zmienna HSEStatus zostaje ustawiona na 0 po wygaśnięciu timeoutu...
Witam, Ucze sie I2C i probuje zainterfejsowac czujnik BME280 . Zaden kod z neta ani wlasny nie dziala, na czujniku UV tez nie. Na oscyloskopie jakies krzaki (na zdjeciu.)(Edit:na lini SDA) SCL podpiete na PB6, SDA na PB7 3V Wygenerowane z CubeMX wiec nie daje reszty kodu. Przykładowy kod: while (1) { uint8_t i; for (i=1; i<248; i++)...
[syntax=c]/** ****************************************... * File Name : main.c * Date : 29/04/2014 14:07:00 * Description : Main program body ****************************************... * * COPYRIGHT(c) 2014 STMicroelectronics * * Redistribution and use in source and binary forms,...
Zazwyczaj używam tej funkcji: [syntax=c]/** * Brief This function configures RTC. * Param None * Retval Clock source: 0-none, 1-LSE, 2-LSI, 3-HSI */ uint8_t rtcInit(void) { uint32_t timeStart; if((RTC->BKPREG[BKUP_DISP_MODE] & 0x40000000) == 0) {// Enable PWR clock RCC->APB1ENR1 |= RCC_APB1ENR1_PWREN; // Disable backup domain protection PWR->CR1...
Wykrzacza się tutaj i ląduje w HardFault... status = FLASH_OB_RDP_LevelConfig(rdptmp); W chwili wywołania rdptmp = 0xA5, czyli bez ochrony przed odczytem... Potem robi erase, czyli ustawia 0xFFFF, po czym znów próbuje tam wpisać 0xA5 w ramach przywrócenia :-/ Przechodząc przez kolejne kroki funkcji HALa dla OB stwierdzam, że to jakaś masakra.. wchodzi...
Nie pokazujesz inicjalizacji - na takim kawałku kodu nic się nie da powiedzieć. Mój błąd. Jeśli chodzi o inicjalizacje to tak [syntax=c]static void MX_SPI1_Init(void) { hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_MASTER; hspi1.Init.Direction = SPI_DIRECTION_2LINES; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;...
Środowisko to Eclipse MARS z nakładką dla stm32. Jeśli chodzi błędy to są tego typu, że kompilator informuję, że jest brak zadeklarowanej zmiennej lub funkcji. Funkcję są zadeklarowane w pliku .h, który jest dołączony do pliku .c ( w którym wywala błąd). Uznaje, że informacja kompilatora o tym błędzie jest troche dziwna ponieważ w kodzie w tym samym...
Do tematu musiałem wrócić, dalej kopie się z koniem... Tym razem STM32F411VE i akcelerometr LSM303DLHC który jest na płytce STM32F411E-DISCO. W związku z tym problem hardwarowy można od razu wykluczyć. Transmisja w trybie pooling działa, odczytuje dane z akcelerometru. Natomiast przy próbie pracy w przerwaniu I2C zgłasza przerwanie I2C1_ER_IRQn i błąd...
Witam serdecznie. Proszę o poradę. Programuje STM32L051 w Atolicu. Wstępna konfiguracja została wykonana poprzez Cube. Kod to tylko i wyłącznie ustawianie w pętli: naprzemiennie stanu wysokiego i niskiego na dwóch pinach z opóźnieniem i wygląda tak: SEGGER J-Link GDB Server V6.44i Command Line Version JLinkARM.dll V6.44i (DLL compiled May 17 2019 17:34:22)...
Pierwsze pytanie (jeszcze nie dotyczące bootloadera ale pobliskie temu. Pamięć FLASH w STM32F4 jest 32 bitowa? 16? 64? Nie mogę znaleźć jasnej odpowiedzi na to pytanie w reference manualu. Jest coś takiego w rejestrze FLASH_CR jak PSIZE. Gdzie deklaruje się jakieś zapisywanie, że niby uzupełnia się wolną przestrzeń wielokrotnością tego co wpisałem....
Witam posiadam płytkę Butterfly2, z procesorem STM32F107VCT6, do programowania używam CooCox IDE i stlinka (ustawione przez swd) po zaprogramowaniu układu dziś kilka razy, w pewnym momencie zaczął pojawiać się komunikat: Error: Flash driver function execute timeout Wie może ktoś jak można to naprawić lub co się stało...? proszę o pomoc. problem pojawił...
https://obrazki.elektroda.pl/5694434400_... Moduły zasilaczy warsztatowych, takie jak DPS5005, dostępne są od dłuższego czasum.in. na AliExpress. Doczekały się wielu recenzji, w większości pozytywnych. Jednakże często wskazywanym problemem z tymi modułami jest kiepskiej jakości oprogramowanie – interfejs użytkownika pozostawia...
Witam wszystkich, Próbuję uruchomić wyświetlacz LCD znakowy 2x40 ze sterownikiem hd44780 na procesorze STM32L na płytce STM32L-Discovery. Korzystałem z książki "STM32 Aplikacje i ćwiczenia w języku C" Marka Galewskiego. Do książki były dołączone pliki biblioteczne do obsługi właśnie hd44780. Wykorzystałem te pliki, zmieniłem jedynie port pod który podpiąłem...
Witam chciałem wykorzystać DMA do odczytywania wartości z akcelerometru poprzez I2C. Na stronie ST udostępniono przykładowy kod wykorzystujący DMA. Poniżej udostępniam przykład funkcji wysyłania danych. No i niby wszystko rozumiem, oprócz jednej podstawowej rzeczy. W którym miejscu jest to niby szybsze niż zwykły transfer poprzez i2c, tzn. wysyłanie,...
main [syntax=c] #include "stm32f7xx_hal.h" #include "lwip.h" #include "main.h" #include <string.h> #include "tcp_echoserver.h" /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Private variables ----------------------------------------... /* USER CODE BEGIN PV */ /* Private variables ----------------------------------------...
To jest z przykładu dołączonego do noty: [syntax=c] #define OAR1_ADD0_Set ((uint16_t)0x0001) Status I2C_Master_BufferWrite(I2C_TypeDef* I2Cx, uint8_t* pBuffer, uint32_t NumByteToWrite, I2C_ProgrammingModel Mode, uint8_t SlaveAddress ) { ... else if (Mode == Polling) /* I2Cx Master Transmission using Polling */ { Timeout = 0xFFFF; I2Cx->CR1 |= CR1_START_Set;...
Witam, otóż mam problem, a mianowicie chciałbym obsłużyć przerwanie z pinu ALRT z przetwornika ADS1115 w celu wyeliminowania opóźnienia które teraz stosuje przy odczycie każdego z kanału (delay(20)) dokumentacja: https://cdn-shop.adafruit.com/datasheets... z góry dziękuję za pomoc mój dotychczasowy kod: [syntax=c] /* Includes ----------------------------------------...
Dzięki za pomoc, Biblioteki sciągnałem i przerobiłem ale pojawia sie problem a mianowicie funkcja disk_initialize zwraca 0 tak jak powinna ale kolejna funkcja check_fs zwraca wartość 2 powodując że nie mogę iść dalej z pracą na "Facie". Error jest zwracany przy komentarzu : Dodano po 2 Problem rozwiązany musiałem poprawić obsługę SPI ale teraz funkcja...
Dziękuję raz jeszcze, po zmianie, którą zasugerowałeś chodzi nawet z kalibracją. Masz i wprawę i czujesz sprzęt, ja tego nie mam i zazdraszczam. To jest mój pierwszy program na ARMie - wszystko nowe, tylko ja stary. W bazodanowym programie pod Windows rzadko używa się operatorów bitowych. A sam system dba bardzo abyś do sprzętu bezpośrednio odwołać...
Próbuję uruchomić komunikację pomiędzy uC a SD. Mam taką płytkę: http://arduinosolutions.com/pl/p/EVK407I... pobrałem kod z postu 6 z tego tematu: http://www.elektroda.pl/rtvforum/topic23... używam SPI2 na pinach PI1-PI3 a CS na pin PI4. Tutaj plik odnośnie komunikacji po SPI, zmieniłem tylko piny. [syntax=c]/*----------------------------...
Witam, mam taki problem. Walczę z obsługą karty SD na stm32f4 discovery. Niestety po wywołaniu funkcji f_open w najlepszym przypadku otrzymuję wynik FR_NOT_READY oczywiście bez względu na to czy karta jest czy jej nie ma. Załączam kod funkcji main oraz funkcje związane z spi. Kody są pobrane z forum, ja dopisałem jedynie obsługę SysTick do wywoływania...
Mam taką konfigurację (też w Keilu): static void RCC_Configuration(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ /* Enable HSE */ RCC->CR |= ((uint32_t)RCC_CR_HSEON)... /* Wait till HSE is ready and if Time out is reached exit */ do...
Witam, od dłuższego czasu walczę z tym problemem i nie potrafię znaleźć rozwiązania. Mam projekt, który pochodzi z anglojęzycznego tutoriala: [url=http://www.mind-dump.net/configurin... Wrzucony do Keila i skompilowany działa jak powinien. Problem w tym, że próbuję przenieść go na wykorzystanie bibliotek HAL, z których...
Miałeś problem z HAL, wydłubałem funkcję, która adresuje układ do odczytu, zapisuje rejestr/rejestry, generuje ponowny start, adresuje do odczytu i odczytuje bajt/bajty. Może się przyda. [syntax=c] /** * (at)brief Read an amount of data in blocking mode from a specific memory address * (at)param hi2c Pointer to a I2C_HandleTypeDef structure that contains...
Witam Zacząłem pisać obsługę pamięci MMC korzystając z kodu zamieszczonego tu [url=https://www.elektroda.pl/rtvforum/t... Dokładniej to w #6 poście tego tematu. Jednak pojawia się błąd w linijce: [syntax=c]/*----------------------------... /* Select the card and wait for ready */ /*--------------------------------------...
Moje Eclipse + reszta załogi (LPC2364) chyba toporne jest :wink:. Pomysł z plikami .lunch do bezpośredniego wgrania u mnie nie funkcjonuje, więc musiałem "ręcznie" przeczytać tego xml. Mam nadzieje że o to chodziło target remote localhost:3333 monitor reset monitor soft_reset_halt monitor mwb 0xE01FC040 0x01 monitor mwb 0xE01FC000 0 monitor mwb...
Tych kroków jest trochę więcej, na przykład włączenia zegara dla domeny RTC. Poniżej daję kod do analizy (STM32G0xx) i czekam na krytykę. [syntax=c]/** * Brief This function configures RTC. * Param WakeUp period * Retval error code (0 = no errors) * PrereqSysTick serves as timebase for timeouts */ __INLINE uint8_t rtcInit(uint16_t timeToWake) {// set...
timeout error error timeout cmsis stm32 error
karta pamięci uszkodzona przegub megane atmega zegarek
Prędkościomierz Toyota Yaris - diagnoza i naprawa Różnice między Manualnym a Automatycznym Bypassem w UPS