Z kodu wynika pewna ciekawa rzecz... Otóż z tego co widzę stos znajduje się... w środku sekcji .bss - nie wiem czy to normalne, ale nie sądzę... 4\/3!!
syscalls....
a spróbuj przy odpiętym debuggerze, chyba że jest odpięty?
Witajcie, Program, który robię ma za zadanie pobrać dane z modułu MPU, odpowiednio przetworzyć a następnie wysłać za pomocą UART do komputera. Zarówno do wysyłania danych jak i do przetwarzania używam przerwań od dwóch timerów, jeden co 50HZ do wysyłania danych, drugi co 1000Hz do przetwarzania. Niestety przy próbie wysyłania pojawia się problem ponieważ...
Witam, jestem w trakcie wykonywania ćwiczeń z książki Mikrokontrolery STM32 w sieci Ethernet na zestawie uruchomieniowym ZL29ARM, z programatorem j-link edu, w środowisku eclipse (a konkretniej System Workbench for STM32 z pluginem do obsługi j-link). Aktualnie zawiesiłem się dłuższy czas na konfigurowaniu budzików biblioteki lwip (dla posiadających...
Niemożliwe żeby nie działało, masz przecież bibliotekę, która wszystko ułatwia i rozwiązuje wszystkie problemy. RCC_ APB1 PeriphClockCmd(RCC_ APB2 Periph_SPI1, ENABLE); 4\/3!!
Powoduje wyrzucenie na serial port samych spacji. coś jeszcze może tu być źle źle? Kiedyś mówiło się, że problem jest typu "PEBKAC", ale teraz chyba nie wolno... Wiesz w ogóle jak działa funkcja printf() czy po prostu wklejasz na ślepo jakieś fragmenty znalezione z netu? Czego spodziewasz się podając do funkcji printf() adres zmiennej w której jest...
Ale wciąż czekam na opinie! kogoś kto zrobil coś duzego na tych bibliotekach! Ale co według Ciebie znaczy "duże"? Ja robiłem może nie coś ogromnego w sensie objętości we Flashu, ale ze skomplikowanymi zależnościami czasowymi na STM32F103VD/VE. Używałem przerwań i robiłem rekonfigurację różnych bloków układu w tych przerwaniach. I to działało z użyciem...
Witam, mam problem z komunikacją z czujnikiem ciśnienia HP02S. Szukałem swojego problemu na forum, ale nie znalazłem. Udało mi się bez problemu odczytać dane z EEPROMu. Udało mi się też skomunikować z czujnikiem, ale do czasu. Sekwencja odczytu ciśnienia wygląda następująco (pseudokod): [syntax=c] i2c_start(); i2c_write(0xEE); i2c_write(0xFF); i2c_write(0xF0);...
Witam, Mam procesor STM32f030RCT6 (256kB flash, 32 kB ramu). Program napisany z wykorzystaniem wygenerowanego kodu w CUBE MX w środowisku AC6 . Zrobiłem już 5 płytek i co ciekawe na dwóch program działa bez problemu , a na trzech pozostałych już nie . Podglądając w trybie Debug widzę coś takiego jak zatrzymam wystartowany program: https://obrazki.elektroda.pl/5695132000_...
Cześć. Nie potrafię sobie poradzić. Prosty program z przerwaniem od przepełnienia TIM2, Nie wiem dlaczego, ale przerwanie odpala mi się zaraz po inicjalizacji timera. Nie pomaga czyszczenie flag w żadnym momencie tzn. ani przed ani po uruchomieniu licznika. Kod jest taki. [syntax=c] int main(void) { RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; TIM2->PSC = 65000-1;...
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...
Witajcie! Mam taki problem z stm32f4(płytka Discovery) otóż ustawilem pierwszy level zabezpieczenia przed odczytem i w momencie wywolania zerwalo mi polaczenie z st-linkiem niby ok, ale teraz nie mogę nic zrobić z prockiem nie można nawiązać połaczenia. Probówalem skasować flasha przez STVP nie można, przez RS232(boot0, boot1) i Flash Loader demonstrator...
Witam, Potrzebuję pilnej pomocy, bo nie mam już sam pomysłów. Procesor STM32F7-45VGT, płytka własnej roboty, programator ST-LINK v2 (ew. U-LINK2), interface SWD / JTAG. Wszystko działało - napisałem ST-LINK Utility wykrywał procka, napisałem program w Eclipse (wygenerowany podstawa przez STM32CubeMX) do migania diodą. Wgrałem program, dioda miga, zegary...
Witam, Mam problem z realizacją przerwania z USART3 na STM32L152RBxx. W momencie wywołania przerwania debugger zatrzymuje się na funkcji default_handler(). Poniżej umieszczam kod: main: #include "stm32l1xx.h" #include "stm32l1xx_conf.h" #include <string.h> void GPIO_Conf(void); void RCC_Conf(void); void NVIC_Conf(void);...
Od dłuższego czasu nie mogę się uporać z obsługą FSMC a szczególnie odczytem i zapisem do jednego z banków. Mam kod: [syntax=c]uint32_t Bank2 = 0x70000000; uint32_t Command = 0x10000; // CLE = 1 uint32_t Address = 0x20000; // ALE = 1 *( volatile uint8_t * )( Bank2 | Command ) = 0x90; // read ID command *( volatile uint8_t * )( Bank2 | Address ) = 0x00;...
W załączniku dodałem schemat mojego modułu sterowania fazowego triakiem i odtwarzania dźwięku z mikrokontrolera. Prawy "ON" przycisku w założeniu powinien po prostu włączyć lampkę, a lewy "ON" powinien zapewnić mikroprocesorowi zasilanie i zacząć powoli włączać lampkę i odtwarzać dźwięk, co działa bardzo dobrze. Aby zamienić 230V na 5V rozebrałem po...
Witam Mam następujący problem przy płytce STM32F0Discovery. Celem programu jest na poziomie obsługi przerwania ustawienie globalnej zmiennej, a następnie po powrocie do maina sprawdzenie zmiennej i wykonanie instrukcji. Kod pliku main.c [syntax=c] #include "stm32f0xx.h" #include "setup.h" volatile bool new_data = false; int main (void){ setup(); while(1){...
Witam, zaprojektowałem płytkę i przylutowałem procesor na razie bez zewnętrznego kwarcu. Niestety po podłączeniu JTAGA, wyswietla jtag chain interrogation failed all ones. W tym momencie nie lutowałem jeszcze żadnego z kondensatorów ani rezystora z obwodu kwarcu ani części analogowej. Boot0 i Boot1 mam podciągnięte do masy, a reset do 3.3v. Pomożecie...
Witajcie, mam standardowy problem, który już nieraz dawał mi w kość. Mianowicie: mikrokontroler świeży, nowy, dopiero co polutowany nie odpowiada. Próbuję połączyć się z nim za pomocą STM32 ST-LINK Utility. Tak samo próbowałem z poziomu System Workbech or STM32 (czasem to przechodziło gdy Utility wymiękał). Zawsze mam taki problem przy pierwszy wgraniu...
Witam, Jakiś czas temu na forum pytałem o koncepcję prostownika mikroprocesorowego. Od tamtego czasu zacząłem działać i stworzyłem płytkę, wlutowałem komponenty i zacząłem pisać program i testować układy. Wszystko szło dobrze dopóki nie rozbudowałem programu i zacząłem testy pod obciążeniem. W aplikacji wykorzystuję 3 wejścia ADC do pracy z DMA: pomiar...
Witam, mam problem z modułem opartym na STM32, dokładniej jest to moduł gromadzący dane z ebike tj. temperatura, prędkość itp. Układ ten zasilany jest zewnętrzną przetwornicą 12 V, która obniża napięcie z ok. 80 V (akumulator 20S). Przetwornica ta to gotowy moduł z Allegro. Wracając do mojego modułu, nie wiem dlaczego, ale po wykonaniu kilku cykli włącz/wyłącz...
Witam Chciałem zrobić generator DDS na STM32F405RG. Mam takie wypróbowane równanie: [syntax=c] DAC=TABLICA[(X +=dX)>>S]; [/syntax] TABLICA ma ilości elementów 2^n z zakresu 0-4095, w tym przypadku miałem 8192. X i dX są typu uint32_t, a S jest zdefiniowany na twardo i wynosi w tym przypadku 19. Takie równanie działało mi bez pudła na AVR Atmega, Xmega,...
Witam Mam płytkę z modułem GSM M95 (quectel) podłaczona przez USART to STM32l151CC(32Kb ram i 256 Kb flash), uklad działał prawidłowo. Wymienilem procesor na STM32L152CB(16kB ram i 128KBflash) i tu zaczał sie problem, procesor ląduje w Default_Handler w momencie wyłaczania, właczania i dzwonienia na moduł GSM, przy procesorze z wiekszą pamiecia nie...
Witam forumowiczów, posiadam płytkę Discovery F3, na której eksperymentowałem dzisiaj i coś poszło nie tak, bo płytka całkowicie zgasła i straciłem z nią łączność. Teraz gdy ją podłączam do komputera przez st link to grzeje się układ oznaczony przez U1 chyba jakiś stabilizator. Czy da się to jeszcze uratować czy złom?
(at)ElektrodaBot Myślę że koszty można zaniżyć jeśli: - zakupimy używana kosiarkę (nadająca się do przeróbki) do kwoty 500zł - zakupimy tańszy moduł GPS RTK + Stacja bazowa do wykonania w własnym zakresie (może taki: LC29H -- ponoć kosztuje 60USD - -czyli około 250zl) - zamiast drogich platform RPI wykorzystamy coś dla STM32 , ESP32 ?? Mała sugestia...
Po utworzeniu semafora wywołanie SemaphoreTake zawsze zwraca pdTRUE, nawet jeżeli nie została wywołana funkcja SemaphoreGive. W związku z tym zaraz po utworzeniu należało by go "wziąć"(oczywiście trzeba to wykonać przed włączeniem taska/przerwania które coś sygnalizuje tym semaforem). Problem ten pojawiał się jakiś czas temu na portach STM32 oraz SAM7S...
Wszystko masz ładnie wytłumaczone na stronie 707 (Master Mode). Może zegar za mały na I2C: The peripheral input clock frequency must be at least: 2 MHz in Standard mode 4 MHz in Fast mode Może nie nadajesz Start itp. Trudno powiedzieć pokaż więcej, a najlepiej skonfiguruj sam na rejestrach (jeśli tak nie masz) na podstawie tego rozdziału. EDIT....
Jeżeli mam w projekcie ustawiony procesor STM32F100RB, to chyba kompilator powinien wiedzieć jakie pliki bin dołączyć. Zainstalowałem wersję 1.2 i co ciekawe z tego samego projektu źródłowego generuje sporo większe pliki, przy tych samych ustaiweniach optymalizacji itp. niestety, nie obsługuje ST-Link i nie moge zaprogramowac procesora. Jakim programem...
Witam, Niestety natrafiłeś na ogólnie znany problem :-) I2C w stm32f103 jest po prostu ... nie działa najlepiej. Jeżeli dobrze pamiętam przy próbie odczytu nie ustawia mu flagi IV5 i można tak czekać i czekać. Jeżeli masz nowe biblioteki to spróbuj zmienić prędkość transmisji na 50kB. Jeżeli to nie pomoże to zostaje ci bitbanging :)
Faktycznie, jest to w pliku startowym. Dopiero zaczynam z stm32 tak na poważnie, do tej porty tylko AVRy programowałem. Dzięki za pomoc !
Odkopię temat, bo ostatnio próbowałem sobie kupić zapasowy ST-LINK v2 (klon oczywiście), kupiłem dwa i w obu siedział APM32F103CBT6 tylko w jednym sygnowany przez APEXMIC, a w drugim przez GEEHY. O ile z ST-LINK Utility te programatory działały, to z STM32 Cube Programmer - nie chciały. Niby je widział, ale w polu SERIAL NUMBER była pojedyncza litera,...
Witam Na wstępie powiem, że jestem świeżakiem w temacie mikrokontrolerów STM32 ale sporo szukałem (nie tylko na elektrodzie) i nie mogę sobie z tym problemem poradzić. Mam płytkę F103VCT6 + LCD3.2''. W tym LCD jest slot na kartę microSD. Chcę zrobić chyba najprostszą rzecz na świecie czyli stworzyć na karcie plik. I tu pojawia się problem - płytka zawiesza...
Nic nie można wykluczyć chociaż nie bardzo rozumiem jak kwarc od zegarka RTC mógłby zawieszać program bo z tego co piszesz program przy konfiguracji zegara RTC po prostu staje. Popraw mnie jeżeli źle myślę: w przypadku kiedy wyrzucisz z main() funkcję RTC_konfiguracja() dioda na pinie 14 portu E Ci mruga, w przypadku kiedy ta funkcja znajduje się w...
co rowniez niewiele zmienia : moja tajemnicza_funkcja(p) zawiesza sie przy wartosci parametru 3456 ale tylko o pełnej godzinie w dni parzyste. Dlaczego?
Do linkowania (do którego używasz -gcc a nie -ld) też trzeba podawać opcje cpu i -mthumb. Ewentualnie zastosuj SPRAWDZONE toolchainy - np codesourcery. 4\/3!!
Witam. Szkole się w programowaniu zacnych STM32 i od razu na poczatku mam problem z funkcja printf(); Po wywołaniu tej funkcji procesor się zawiesza. Mam zrobiony proste nadawanie i odbieranie danych przez UART. Używam Keila MDK ARM V5 biblioteki HAL wygenerowane w STM32CUBEMX. Korzystam z płytki Kamami Zl27ARM. Na razie chcę uzyskać następujące efekty:...
Witam, mam problem z moim urządzeniem, mianowicie... STM komunikuje się z ESP8266 przez USART i wysyła do niego komendy "AT", przy pierwszym włączeniu inicjalizacja ESP (połączenie z wifi, cwmode itd) działa poprawnie i każde polecenie wykonuje się kolejno. Kiedy dojdziemy do programu głównego i mikrokontroler znajdzie się w zdarzeniu, gdzie powinien...
https://www.elektroda.pl/rtvforum/topic2...
Zauważyłem że gdy ustawiam w CubeMX "SD 4 bits Wide bus" to funkcja inicjująca w pliku "sdio.c" wygląda w taki sposób: [syntax=c]void MX_SDIO_SD_Init(void) { hsd.Instance = SDIO; hsd.Init.ClockEdge = SDIO_CLOCK_EDGE_FALLING; hsd.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE; hsd.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE; hsd.Init.BusWide =...
screenshot? Uwierz nie ma sensu. Próbuję w ten sposób wysłać dane: #define PCF8574_ADDR 0x40 void PCF8574_RegWrite(uint8_t reg, uint8_t data) { while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY)); I2C_GenerateSTART(I2C1, ENABLE); I2C_TransferHandling(I2C1, PCF8574_ADDR, 1, I2C_Reload_Mode, I2C_Generate_Start_Write); //while(I2C_GetFlagStatus(I2C1, I2C_ISR_TXIS)...
Rozwiązałem w końcu problem. Dodaje działający projekt FreeRTOS Eclipse dla STM32F107, który miga dwiema diodami w dwóch niezależnych zadaniach. Wszystkim, którzy mieli podobny problem załączam gotowy projekt który należy tylko skompilować. Może nie jest on kunsztem programistycznym ale działa. Pozdrawiam.
Jakoś sobie ubzdurałem, że skoro w F1 RX w USARTcie jest wejściem pływającym to MISO też tak ma być ustawione, a to zupełnie inna rodzina i inne peryferium. We wszystkich rodzinach STM32 - z wyjątkiem F1, gdzie jest inna implementacja GPIO - dla funkcji alternatywnych trzeba zawsze ustawić "alternate function mode" - bez patrzenia czy to jest wejście,...
poza tym bardzo mi podpada to iz jesli wstawilem w f. obslugi przerwania taka mala 'pulapke' czyli while(1); lub for(;:wink:; to program tez sie w tym miejscu nie 'zawiesza' Nie zawiesza się, bo wykonywane jest kolejne przerwanie.. i kolejne.. i.. jeszcze jedno.. Probowalem dolozyc maly kondesator ale nic sie nie zmienilo w zasadzie Pomysł z kondensatorem...
Witam Po jednodniowej radości związanej z prawidłową pracą klona amonteca od Freddiego nadszedł kryzys... Aktualnie IAR nie jest w stanie wgrać nawet programu do flasha. W oknie konsoli IAR-a głownie jest Verify error at address.. W gdb: http://obrazki.elektroda.net/3_126701690... Wyrocznia podpowiada: "...I suspect some interrupt routine or...
Cześć, Próbuję podłączyć jakoś wyświetlacz JM081A (kompatybliny ze sterownikiem HD44780) pod STMa32 (na płytce discovery). Używałem go przy poprzednim projekcie, na ATMedze8 więc wiem, że wtedy działał, niestety rozmontowałem całość (płytka stykowa..) i nie mam teraz możliwości sprawdzenia czy wyświetlacz nie został uszkodzony (bo musiałbym rozebrać...
Widzę że dosyć cich. dorzucam jeszcze skrypt linkera i startup. nawet mam brakepointa w void Reset_Handler(void) i w niego nie wchodzi. ale na brakepointa w Default_Handler reaguje. Zanaczam że jak wgram program na mikrokontlorer to działa bez zarzutu... [syntax=c]/* Procedura startowa dla STM32 connectivity line devices */ /* NastÄ™pujÄ…ce...
O faktycznie, ale niestety to nie to. Z resztą to jest kod na szybko spisany na discovery. Docelowo używany jest stm32f107, tam konfiguracja wygląda tak [syntax=c] void ExAdcConfig(void) { GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GP... ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2... ENABLE); GPIO_InitStruct.GPIO_Pin...
Tak, tylko ta linia nie wnosi nic do problemu. Wróciłem do starej posklejanej wersji: Dodano po 5 Nerwy mnie już biorą... powyższy kod... po kolejnych próbach grzmoci się totalnie - inaczej tego ując nie moge (przepraszam). Zawiesza się od razu po załączeniu diody LED, USB wysiada przy BR = 9600 przy okazji sypiąc mi totalnie terminal...
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 uruchomieniem USB w trybie HID. Oczywiście próbowałem zaprzęgnąć przykład od STM'a. Niestety bez skutku. Zasięgnąłem więc do manuala, straszna bieda i kiepsko opisane. Przeanalizowałem kod od STM'a i spróbowałem zrobić to u siebie. Niestety nic to nie dało. Szukałem w internecie i znalazłem przykład od KEILa. Niestety tak samo zakończyło...
A z jakiego to powodu używasz starej wersji oprogramowania ze znanymi usterkami zamiast aktualnej, wolnej od tych usterek? ściągnij STM32CubeIDE, a prawdopodobnie większość problemów z debugowaniem zniknie, tak to przynajmniej wynika z moich doświadczeń. Aha, no i zawsze możesz kliknąć w Pauzę lub Stop, które nie są na szaro. Może w konfiguracji debugowania...
np. baud rate nie ustawiam, bo domyślnie po resecie ma wartość 000, czyli fPCLK/2. U mnie też tak było do czasu aż skomplikowałem moją "pajęczynę" wtedy wyświetlacz miał tendencję do "zawieszenia się". prawdopodobnie to była za duża częstotliwość żeby sobie tak kabelkami 20cm "latać". Wystarczyło że częstotliwość zmniejszyłem i od razu ruszyło. Przy...
Witam wszystkich serdecznie, Chciałbym prosić o pomoc w analizie błędów inicjalizacji i komunikacji z zegarem RTC, który wszyscy znają. Chciałbym przedstawić kod, który nie działa - opisać objawy i spytać o parę rzeczy, które mnie nurtują. A więc do rzeczy. Najpierw Kod: [syntax=c] #define PCF8583_ADDR ((uint16_t)(0x50)) #define I2C_SCL GPIO_Pin_6 #define...
no wlasnie nie mam JTAGa i z kazda chwila coraz bardziej tego zaluje :P
Chcę móc dynamicznie alokować pamięć, której rozmiar jest z góry znany, a nie ograniczony stosem. Oczywiście coś jest nie tak, bo nigdy nie dostaję NULL, a przy większej liczbie alokowanych liczb procek się zawiesza (A mój debuger ma dziś fochy i nie odpala ;-( ) W skrypcie linkera za sekcją bss mam: [syntax=c] _heap_size = 256; SECTIONS { ... . = ALIGN(4);...
żywam STM32F103ZE (512KByte FLASH, 64KByte RAM) a nie stm32f100 - mój błąd przepraszam, źle napisałem co do funkcji w której wisi: [syntax=c]/* * ----------------------------------------... * The Idle task. * ----------------------------------------... * * The portTASK_FUNCTION() macro is used to allow port/compiler specific...
Nie pracuję w jakimś noisy environmencie :) timeouty próbowałem różne z resetem i dalej mam w kółko slave mode z zajętą linią :| Chyba, że pullup jest za mocny, ale coś nie wydaje mi się. A sprawdzałeś napięcie na linii? Start condition Setting the START bit causes the interface to generate a Start condition and to switch to Master mode (M/SL bit set)...
Tak mam, całe mnóstwo, jak wyłączę i wywalę printfy to jest ok, niemniej nie mogę poświęcić całego procka dla odczytu i2c :) Pozdrawiam Krzysiek
Witam Ja swój problem rozwiązałem usuwając dzielenie adresu przy odczycie przez 512. W sterowniku do dysku miałem mnożenie to zrobione przez co nie zgadzały się adresy. Przy odczycie 1 sektora było wszystko ok, a jak więcej to się wszystko rozjeżdżało. Nie robię zapisu, ale zerkając w kod wydaje mi się, że może być ten sam problem. Sprawdź czy masz...
if( EXTI_GetITStatus( EXTI_Line5 != RESET ) ) Przyjrzyj się dobrze. 4\/3!!
Zapomniałem. STM32F411
Dalej męcze to I2C. Powiem tak, ogólnie to coś działa, ale np. jak wykonam coś większego w pętli głównej programu while(1) to zawiesza. Czy ma ktoś gotową bibliotekę I2C stm32?
Wyświetlam sobie wyniki pomiaru w terminalu przez usart i są one poprawne także nie wiem, wydaje mi się, że mi się nie wydaje. A reszta konfiguracji jest poprawna? Konstrukcja jakiej użyłeś w celu realizacji opóźnienia nie ma prawa działać przy zadnych sensownych opcjach kompilacji. Rzuć okiem na kod wynikowy - idę o zakład, że jeśli nie masz tam -O0,...
Pod 64bitowymi windowsami bardzo dobrze sprawuje się chiński j-link, do kupienia za stówkę na allegro. Mam taki, i chodzi dokładnie tak samo jak oryginalny j-link (ktorego tez mam). Tak samo stabilnie będą chodzić wszystkie debuggery Ulink (1,2,pro)
Witam, Próbuje uruchomić przykład oparty na bibliotekach ST (obsługa karty SD przez SDIO), niestety przykład nie do końca działa. Wszystko jest ok do momentu wejścia do funkcji: SD_Error FindSCR(uint16_t rca, uint32_t *pscr) w której program zawiesza się na następującym elemencie: [syntax=c] while (!(SDIO->STA & (SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL...
stm32 usart zawiesza zawiesza delonghi router zawiesza
17mb211s firmware wzmacniacz operacyjny przekaznik ostro telewizor regulacja
buderus gb112 elizabeth długich
Klimatyzator do domu jednorodzinnego – Daikin, Mitsubishi, split czy multi-split, R32, SEER, SCOP Niteo Tools 20V BCD0470-19 bezszczotkowa – parametry, akumulatory, udar, opinie