Skoro plik main.cpp jest plikiem C++, a wektory są funkcjami z C, to handler obsługi przerwania musi mieć ozdobnik `extern "C"`. Wstawiaj kod i logi w odpowiednich znacznikach (code/syntax), bo nie da się tego czytać.
Czy działa Systick to łatwo sprawdzić w debuggerze. Zresztą wiele spraw można sprawdzić. Ja bym zaczął od tego czy właściwe rejestry podlegają zmianom. To nie jest nic trudnego, w krokowym trybie Też jaka wartość jest SystemCoreClock, to zmienna globalna. Może ląduje gdzieś w HardFault, zaraz po uruchomieniu. EDIT. Często problemem przy kopiowaniu plików,...
Debouncing w przerwaniu - tylko nie mów, że robisz to przez aktywne oczekiwanie wewnątrz przerwania. Jeśli tak, to zauważ, że to, że skasowałeś flagę przerwania i jesteś w przerwaniu wcale nie oznacza, że flaga nie może zostać ustawiona ponownie. Możliwy jest taki scenariusz: wciskasz przycisk, pojawia się zbocze opadające które ustawia flagę a więc...
Ten temat może pomóc w rozwiązaniu tej zakręconej kwestii http://www.elektroda.pl/rtvforum/topic14... pozdr.
z tego co rozumiem żeby dokonać jakiejkolwiek zmiany w rejestrze AIRCR należy tam również wpisywać 0x5FA po to by zapis nie został odrzucony. Chyba że źle kombinuje:P Dobrze kombinujesz, wcięło mi ten zapis :P SCB->AIRCR = AIRCR_VECTKEY_MASK | (3<<8); gdzie: #define AIRCR_VECTKEY_MASK ((uint32_t)0x05FA0000) Chociaż...
(at)szewcu12 Możesz skorzystać z bilbioteki E-Mail Client Library ([url=https://github.com/mobizt/ESP-Mail... dla ESP8266. Ale uwaga, wymaga to napisania programu dla ESP z użyciem Arduino Core ;) ESP może "nasłuchiwać" komunikaty z STM i po jego otrzymaniu dalej wysyłać jako maile. Alternatywnym rozwiązaniem jest wykorzystanie firmware AT...
1. Przeczytaj początek tego: http://docs7.chomikuj.pl/492704393,0,0,0... 2. W systemie Windows istnieje funkcja wyszukiwania pliku o określonej nazwie. Czy użyłeś jej do zlokalizowania potrzebnego pliku ?
Jest coś takiego, jak WiFiManager : [url=https://github.com/tzapu/WiFiManage...
Tablicami NVIC się nie przejmuj. Korzystaj z funkcji dostarczonych przez CMSIS, w tym przypadku nie warto stosować rejestrów wprost. Konfiguracja Timera OK, choć kolejność nie należy do poprawnych. Przyjrzyj się jeszcze rejestrowi EGR. Przerwanie? Brak kasowania flagi skutkuje ciągłym jego wywoływaniem. Flagę kasuje się na początku przerwania. I taka...
1. Ustawiłeś sobie sprzętowe sterowanie pinem SS, a sterujesz nim ręcznie - generalnie raczej Twoje ręczne zabiegi nic nie dają. 2. Odbiór danych MUSI być poprzedzony nadaniem czegoś, a ty tylko odczytujesz rejestr DR, w którym nic nie ma. Najpierw sprawdzasz, czy możesz coś nadać, potem wpisujesz do DR cokolwiek, czekasz aż będzie coś do odbioru i...
Spróbuj tak: [syntax=c]//GPIO_EXTILineConfig(GPIO_Por... GPIO_PinSource13|GPIO_PinSource15); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC... GPIO_PinSource13); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC... GPIO_PinSource15);[/syntax]
daj "monitor reset halt" zamiast osobnych komend. Ale nie mam pojęcia czy to pomoże...
A musisz te dane pchać cyklicznie co jakiś czas czy generalnie kiedy tylko się pojawią? Jak źle kombinuję to mnie poprawcie, ale nie lepiej byłoby wykorzystać tu FSMC i pisać po prostu pod odp. adres?
Będzie działać. Na początku - dla swojego bezpieczeństwa - możesz zrobić tak że port przestawiany jest np. po 10s od uruchomienia urządzenia - wtedy przed pierwsze 10s nie trzeba w ogóle kombinować. Bylebyś nie wyłączył resetu!
Wcześniej używałem Keila do wgrywania programu do płytki, ale ponieważ nie rozumiałem co się tam dzieje, przeszedłem na Eclipse i w między czasie wyrzuciłem ten program z komputera. Być Może keil zostawił jakieś śmieci w systemie, przez co płytka działała? W sumie mało istotne. W tej chwili program nie działa. Znalazłem tylko jeden rejestr odpowiedzialny...
Gdy ją od komentuję, podczas debugowania wszystko się sypie. W Zakładając że mówimy o projekcie stm32_blink_led, czyli tym dla F103. Jeśli w config.h ustawisz FREQUENCY na 24MHz max, w funkcji pll_start() wywalisz wywołanie funkcji flash_latency() (w F100 niby nie da się tego przestawiać), to powinno zadziałać, choć niekoniecznie optymalnie (w funkcji...
A może byś tak włączył pull-up? Domyślnie masz pull-down. Wskazówka - Tabela 20 w sekcji 9.1. ;)
Ten fragment obwodu po lewej (z jednym zwojem, opisany IN przez który płynie prąd +-Ip) to przewód na którym chcę wykonać pomiar, tak? Tak. 0V,5V to zasilanie OUT i ref to styki pomiarowe
(1 << 27) Tego nie będę rozszyfrowywał. I przy okazji nie mieszaj kodu HAL-a z rejestrami - w tch samych funkcjach - no chyba że dokładnie wiesz co te halowe robią na poziomie rejestrów (ja np poza kilkoma nie wiem i nie chce mi się grzebać) Procedurę masz opisaną w RM Reception using DMA DMA mode can be enabled for reception by setting the DMAR...
Użyj OpenOCD skompilowanego przeze mnie i wyłącz ten debug level 3, bo ja w sumie nie widzę co się dzieje... Tak w ogóle to nie wiem czy wiesz, ale OpenOCD wymaga innych sterowników do RLinka niż Ride - sterowniki te dołączone są do paczki z OpenOCD z mojej strony. 4\/3!!
Pokaż swój kod.
AFIO->EXTICR Druga linijka nadpisuje to co zrobiłeś w pierwszej. Dalej nie patrzyłem.
Pytanie odnośnie otwartych środowisk do STM32 obsługujących ST-Link aktualne ;) http://stm32-discovery.nano-age.co.uk/op...
Ściągnij z mojej strony przykład dla STM32 (którykolwiek), to zobaczysz jak to jest zrobione i jak powinno być zrobione... http://www.freddiechopin.info/pl/downloa... 4\/3!!
Dla mnie mało czytelne są te gotowe biblioteki STM32. To nie są funkcje z biblioteki STM32 przecież... Proponowałbym pinu ustawić na funkcję alternatywną, a nie na out/in. Ewentualnie RX może zostać na in, ale TX musi być "ALT". 4\/3!!
Najfajniejsze, że kompilacja przechodzi bez problemu. To jakie środowisko sugerujesz? Z Eclipsem podczas konfiguracji na windows miałem problemy, bo pomimo wielu starań nigdy nie udało mi się poprawnie skonfigurować środowiska. Jak nie wiesz jak coś skonfigurować to pytaj po prostu na forum. http://www.elektroda.pl/rtvforum/topic13... http://www.elektroda.pl/rtvforum/topic13...
Odpowiednie przeróbki robisz w pliku sd_spi_32.c - konfiguracja peryferii. Natomiast w comm.c określasz interfejs dla terminala znakowego dla uart.
A gdzie konfiguracja pinów czy RCC ? Kody do ADC na forum krążą chyba w 3 wersjach. Moja, FC i chyba nsvinca.
Witam. Pięknie Panowie piszecie. Przypuszczam że większość z was naukę zaczynało na 8051 lub AVR. Teraz jak już opanowaliście do perfekcji C i zdobyliście bardzo duże doświadczenie w programowaniu to nie macie problemu ze zmianą procesora w zależności od potrzeb projektu. Tylko że w starym AVR aby ustawić port wystarczą dwie lub trzy komendy i już można...
Problem mam w zrozumieniu jak liczą się linie EXTI_Linex, która odpowiada danemu portowi. Przykładowo przerwania obsługiwane przez void EXTI0_IRQHandler(void) obsługują piny PA0, PB0, PC0, PD0, PE0 z tym że nie jest chyba tak iż przerwania na tych pinach obsługuje linia EXTI_Line0 bo jak rozróżnić który pin wywołał przerwanie. Piny "0" ze wszystkich...
Witam, Tak się składa, że również posiadam tą płytkę oraz używam CooCoxa. Sprawa z jej obsługą wygląda następująco: 1. Potrzebujesz kabla USB: A - B mini 2. Sterownik do USB - ST-LINK/V2 do ściągnięcia 3. STM32 ST-LINK Utility do ściągnięcia 4. Uważaj do jakiego gniazda USB w kompie wkładasz kabel :) pół godziny się męczyłem a wystarczyło przełożyć...
Witam, Napotkałem problem, którego nie mogę przeskoczyć podczas używania CubeMX. Chcę za pomocą przerwań lub za pomocą DMA mierzyć napięcie na ADCku. Niestety procesor wykonuje pomiar tylko raz. Mierzy początkową wartość potencjometru, nie reaguje na jego kręcenie. Sterowanie ADCkiem za pomocą "HAL_ADC_PollForConversion" działa, przy próbie użycia przerwań...
Rachel załamujesz mnie :D __IO uint32_t AFR[2] to deklaracja tablicy dwuelementowej a w C indeksuje się je od 0 :)
Cześć, Pozwolę sobie oszczędzić trochę czasu innym, którzy spotkają się z tym problemem. Nie wiem jak wygląda sprawa ze starszymi mikrokontrolerami, ale w F7 rozwiązano problem odwróconej kolejności bitów, rejestry modułu CRC pozwalają na ustawienie sprzętowego odwrócenia bitów i bajtów. Przykład konfiguracji pod CRC32[zip, itp] dla biblioteki HAL:...
Specjalistą od SPL i stm32 nie jestem... ale C to C ->jeśli chcesz wypełniać pola struktury to musisz mieć obiekt tego typu :) Kompilator dobrze Ci mówi - nigdzie nie masz definicji "NVIC_InitStruct". Łoj. BlueDraco mnie ubiegł jak zagłębiałem się w Twój załącznik :cry:
https://obrazki.elektroda.pl/2553827400_... Cześć, pod tą niecodzienną nazwą tematu prezentuję projekt małego, automatycznego odtwarzacza muzyki do umilania posiedzeń na toalecie. Oczywiście to jedno zastosowanie, w innych sytuacjach pewnie też może się przydać ;) Głównym założeniem była niewielka złożoność, banalny interfejs, bezobsługowość...
Nikt nie pomoże??
Może zainteresuj się F103. Posiada kontroler CAN, a chińskie płytki uruchomieniowe są dosyć tanie - ok 15zl.
Ale dlaczego instrukcja PIN_x_y = z miałaby sterować konkretnym pinem? Proszę o definicję. Bo PIN_x_y jest makrem operującym bezpośrednio na pinach za pomocą bit-bandingu, czyli czegoś o czym użytkownicy biblioteki nie wiedzą i raczej się nie dowiedzą, bo w bibliotece nie ma takich możliwości, a po co szukać więcej info niż w manualu do biblioteki?...
Witam, Jesli korzystasz z MPLABX, to opis wszystkich pragma config jest w...helpie :-) Help>c32 toolchain>C32 configuration settings.... Tez to niedawno przerabiałem :-))) Sporo informacji mozna wyciagnać z forum Microchipa - tylko kwestia zadania odp. pytania. Jak dla mnie to wlasnie PIC32 jest przyjazniejszy dla uzytkownika niz np. STM32 (własnie...
(at)wilku_88 - w Twoim kodzie nie ustawiasz AF6 dla PC7, tylko nie wiadomo co. Poprawnie powinno to wyglądać tak: PLL dla I2S musi być skonfigurowany powinienem konfigurować w takim wypadku MCLK na jaką częstotliwość? Czy na taką, która odpowiada Fs = 8k (załóżmy, że z taką częstością wyrzucam z DAC)? Bo w sumie nie wrzucam CODEC'owi danych cyfrowych,...
Ostatnio przechodziłem "tą ciernistą drogę" kompilacja i poprawne wgranie pierwszego programu zajęło mi chyba 3 dni. Ale dałem radę sam (choć już miałem pytać na forum). Generalnie to dzięki szczywronek za poradnik! jesteś miszcz! A co do środowiska. Zaczynałem z pluginem i tam całe środowisko chodziło z tym że zaciągane są biblioteki a nie o to mi...
Cześć, Posiadam płytkę prototypową opartą o STM32. Na laptopie mam zainstalowanego Linux Mint w wersji 18.2 (x64). Mam zainstalowane OpenJDK. Posiadam jako IDE InteliJ. Tego edytora chciałbym używać. Wiem, że na STM32 można pisać w Javie. Jak mogę zestawić InteliJ pod Linuxem aby zacząć pisać? Nie chcę używać Eclipse. Będę wdzięczny za pomoc:) Pozdrawiam...
Teraz pozostało mi przenieść projekt z stm32 na lm3s, ponieważ zajmuję się tym w wolnym czasie od pracy, to efektem podzielę się pewnie za kilka dni. To naprawdę nie jest dużo roboty, generalnie (pomijając detale typu zmiana nazw plików czy nazwy projektu) trzeba zrobić mniej więcej "aż" tyle: 1. poprawić tablicę wektorów (to i tak byś miał kiedyś...
Zlecę skonfigurowanie dwóch projektów dotyczących sterowania urządzeniem audio na STM32F4xx w IDE na Windows (oraz ich późniejsze modyfikacje w ramach kontynuacji współpracy). Te dwa projekty mają podobną konstrukcję, są napisane w C, największa część ich funkcjonalności dotyczy przesyłania pomiędzy sobą po UART i SPI kilku typów komunikatów synchronicznych...
Witam, nie jestem pewien czy to odpowiedni dział ew. proszę o przeniesienie. Czy ktoś na forum mógłby mi wytłumaczyć konfiguracje gpio ? To taki przykład. [syntax=c] GPIOA->CRH&=0XFFFFFFF0; GPIOA->CRH|=0X00000003; // PA8 GPIOC->CRL&=0X00FFFFFF; GPIOC->CRL|=0X33000000; // PC7 6 GPIOC->CRH&=0XFFFFFF00; GPIOC->CRH|=0X00000033; // PC9 8 [/syntax] Gdyby...
Cześć, nadszedł czas zmierzyć się z linkerem i innymi cudami ;) Wybaczcie, jeśli będę pisał głupoty, dopiero próbuję to ogarnąć :D Czy możecie podpowiedzieć jak uwzględnić w Eclipse dwa warianty kompilacji i linkowania: 1. program w trybie DEBUG, który startuje klasycznie z 0x08000000 2. program w trybie RELEASE, który ma startować z 0x08002000 Odnośnie...
Witam wszystkich, przeszukuję elektrodę już od dłuższego czasu, zresztą podobnie jak i cały internet, przestudiowałem rm, datasheet oraz errate i mam następujący problem z konfiguracją I2C na rejestrach otóż kod zamieszczam poniżej i prosił bym o pomoc gdyż urządzenie nie wysyła nawet adresu : Konfiguracja I2C(3) : [syntax=c]void I2C3_Init(void) //nadaje...
Problem rozwiązany mój błąd należało jeszcze w rejestrze RCC->CFGR3 ustwić bit I2C1SW, który włącza zasilanie z SYSCLK. Dla potomnych wrzucam działający kod obsługi I2C1 na STM32F303VC6 [syntax=c] RCC-> CFGR3 |= 1<<I2C1SW;// SYSCLK dla i2c RCC->APB1ENR |= 1<<I2C1EN; //włacz zegar dla I2C1 [/syntax] [syntax=c] //*********I2C GPIOB->MODER...
Pracuję w środowisku System Workbench for STM32. Po dłuższej przerwie pobrałem program startowy z strony kolegi Freddie Chopin (nie chcę działać SPL ani HAL) więc to wydaję się najlepszą opcją. Mam problem przy imporcie projektu, kompilator nie widzi nawet stdint.h : https://obrazki.elektroda.pl/6367206800_... Więc postanowiłem stworzyć...
(at)Karaczan - to nie kwestia tworzenia średnio optymalnego kodu - bierzesz mbed, spl, hal do ARM i głupie miganie diodą jest w stanie zeżreć 1k RAM i FLASH ;) A jedziesz bezpośrednio na dokładnie tych i tylko tych rejestrach peryferiów, których w projekcie używasz i masz 10x mniej kodu. To kwestia inicjalizacji/konfiguracji wielu rzeczy, które Arduino...
Witam od dwóch dni staram się uruchmić I2C na stm32f0. W tym celu przygotowałem funkcję inicjalizującą void initI2C(){ //PB6 - SCL I2C_2 //PB7 - SDa I2C_2 uint8_t PRESC,SCLL,SCLH,SDADEL,SCLDEL; RCC->AHBENR |= RCC_AHBENR_GPIOBEN ; //enable clock for port B RCC->APB1ENR |= RCC_APB1ENR_I2C1EN; //enable I2C clock GPIOB->MODER |= GPIO_MODER_MODER6_1...
Dopiero zaczynam pracę z ARM-ami i STM32, po zapoznaniu się ze środowiskiem Atolic, stwierdziłem, że warto stworzyć swoje środowisko przy pomocy programu Eclipse. Jak w temacie postanowiłem zebrać swoje doświadczenia i podzielić się nimi. Może komuś one pomogą.
https://obrazki.elektroda.pl/7314526000_... Po co? Bo potrzebowałem zastąpić taki zestaw urządzeń: https://obrazki.elektroda.pl/2866172900_... Czyli switcha 100M, ładowarkę USB, rozdzielacz, dwa 3 portowe (używane 4 porty w sumie) "wstrzykiwacze" PoE (jednego nie ma na zdjęciu) jednym urządzeniem, bo schludniej. Poza...
Witam, próbuje zaprogramować Ethernet, na wyżej wymienionej płytce. Ustawiłem GPIO wszystkie i skonfigurowałem RCC. Niżej konfiguracja GPIO ( mam nadzieje że dobrze ustawiłem OSPEED na High, bo do RMII którego używam potrzeba 50Mhz ) Linie do RMII to: TXD0/1 TX_EN CR_SDV MDC MDIO REF_CLK RXD0/1 [syntax=c] static void ETH_GPIO_CFG(void){ // Enabled ports...
Witam. Próbuje skonfigurować I2C na płytce Discovery. TIMINGR skonfigurowany według DS. http://obrazki.elektroda.pl/7377565700_1... I teraz pytanie, dlaczego dane wpisywane do rejestru TXDR nie są wysyłane? Nie znalazłem przykładu dla STM32F0 w internetach stąd też ten temat.. Pozdrawiam
Witam. Przerobiłem mrugacz diodami Freddiego Chopina na procesor STM32L, jednak coś nie tak jest z tym ... nie działa. Podczas debugowania doszedłem do wniosku że chyba źle skonfigurowałem porty. Albo robię źle coś innego gdzieś. Niby adresy rejestrów portów są prawidłowe, ale odczytane z tego obszaru pamięci wartości są zupełnie bez sensu i nie zmieniają...
Witam! Muszę stworzyć program na STM 32 (STM32 DISCOVERY / STM32F100RB), który będzie pozwalał sterować 5 serwami. Napisałem poniższy program, przy pomocy którego otrzymuje na wyjściach poszczególnych kanałów timerów 2 i 3 przebiegi PWM o częstotliwości 50 Hz. Jednak serwo nie działa. Serwo analogowe (HS – 422, HS – 645MG) wychyla się w...
1. Przeczytaj dokładnie w manualu co robi ten bit. Kilka stron wcześniej masz obrazki które doskonale pokazują po co on jest. On tylko włącza bądź wyłącza buforowanie, a nie przeładowywanie czegokolwiek. 2. Rejestr ten w Twoim przypadku nie ma wpływu na częstotliwość, bo jego wartość ustawiona jest po prostu na połowę okresu timera, równie dobrze mogłaby...
Witam, staram się uruchomić komunikacje z mikrokontrolerem przy użyciu protokołu USART. Poniżej załączam kod który nie chce działać z góry dziękuję za pomoc. Kod pisałem wzorując się na przykładach z rodziny STM oraz na podstawie Referencje Manual. void initUsart(){ RCC->AHBENR |= RCC_AHBENR_GPIOAEN; //enable clock for PORTA GPIOA->MODER...
Witam, Skonfigurowałem eclipse z GNU ARM Eclipse plugin do zarządzania make oraz CodeSourcery. Build przebiega pomyślnie, ale hex jest prawie pusty:) [syntax=text]:0400000508000000EF :00000001FF[/syntax] Zapis z konsoli: [syntax=text]10:30:32 **** Build of configuration Debug for project CM0_automake **** cs-make all 'Building file: ../Setup/vectors.c'...
Witam, Chciałbym wykorzystać akcelerometr LIS3DSH z płytki Discovery, komunikując się z nim poprzez I2C. Póki co mam napisaną konfigurację I2C oraz funkcję do wysyłania danych. Wiem, że ten projekcik (który robię w ramach edukacji) przysporzy mi trochę kłopotów, dlatego temat zakładam już teraz i będę go sukcesywnie rozbudowywał. Póki co mam stworzoną...
Witam Moje pytanie brzmi jak w temacie. Pewnie zaraz usłyszę, że jest tego na forum lub w sieci na pęczki, ale trudno. Ja nic nie znalazłem, a to co znalazłem widocznie nie było dla mnie dość zrozumiałe. Dysponuje środowiskiem RIDE7 i uC stm32f103vet6 z Propoxa. Poczytałem trochę w sieci i chciałbym zacząć przygodę z tą rodziną uC. Jednak mam problem...
Cześć, Nie dawno zacząłem przygodę z STM32. I mam duży problem nad którym siedzę już parę dni. Chciałem stworzyć prostą komunikację z komputerem gdzie przez terminal odpowiednimi komendami będzie można gasić i zapalać diody i w drugą stronę przesyłać które diody są zapalone. nie wiem gdzie jest tu błąd więc Ustawienie GIPO void GPIO_Conf(void) { GPIO_InitTypeDef...
Witam, Były tematy o bootloader ale mój problem jest trochę inny. Mam sobie soft, który standardowo jest wgrany pod adres 0x08000000. W pewnym momencie, pobieram sobie nowy plik HEX przez UART. Mój interpreter Hex dekoduje go do surowych danych. Olewam adres bazowy nowego Hexa (który również wynosi 0x0800000) i wgrywam go do 5 sektora pd adres 0x08020000,...
Witam serdecznie. Zgodnie z tym: https://obrazki.elektroda.pl/7983727200_... i tym: https://obrazki.elektroda.pl/4593564900_... przy pomocy tego programu: https://obrazki.elektroda.pl/2810590300_... Próbuję wysyłać dane z mikrokontrolera do termiana, ale ten niczego nie odbiera. Proszę o wskazówkę....
Cześć. Chciałbym zaprezentować na forum film/poradnik, który wykonałem. Dotyczy on konfiguracji niezbędnych narzędzi, umożliwiających programowanie mikrokontrolerów STM32. Materiał przygotowałem w dwóch wersjach: polskiej oraz angielskiej. Celem tego tematu jest zebranie krytycznych opinii na temat omawianego filmu. Chciałbym, aby koledzy, po obejrzeniu...
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...
jaki sposób można to zmieniać na rejestrach? Jest rejestr TIMx capture/compare enable register (TIMx_CCER). https://obrazki.elektroda.pl/9768584600_...
stm32 konfiguracja stm32 konfiguracja bibliotek stm32 konfiguracja biblioteka
attiny bootloader czujnik pralka alhambra silnik
indesit słabo chłodzi 21809932 21809932
Peugeot 308 120 KM Diesel - Kontrolka Urea po dolaniu AdBlue FirstChip FC1178BC USB2DISK Intel QLC 1GB Fake Capacity Recovery