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ż...
Ten temat może pomóc w rozwiązaniu tej zakręconej kwestii http://www.elektroda.pl/rtvforum/topic14... pozdr.
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...
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]
(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...
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...
daj "monitor reset halt" zamiast osobnych komend. Ale nie mam pojęcia czy to pomoże...
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ć.
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...
Na bazie jednego z przykładów od STM zrobiłem transfer DMA z urządzenia zewnętrznego i drugi układ z transferem do urządzenia zewnętrznego. W każdym przypadku miałem zewnętrzny sygnał taktujący (zegar) danych równoległych w takt którego dane są wysyłane/odbierane. W przykładzie był do tego zaprzęgnięty któryś timer, ale nie pracował jako licznik tylko...
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 ?
A może byś tak włączył pull-up? Domyślnie masz pull-down. Wskazówka - Tabela 20 w sekcji 9.1. ;)
Jest coś takiego, jak WiFiManager : [url=https://github.com/tzapu/WiFiManage...
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...
Pytanie odnośnie otwartych środowisk do STM32 obsługujących ST-Link aktualne ;) http://stm32-discovery.nano-age.co.uk/op...
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...
Pokaż swój kod.
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!
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!!
AFIO->EXTICR Druga linijka nadpisuje to co zrobiłeś w pierwszej. Dalej nie patrzyłem.
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!!
Ś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!!
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...
Odpowiednie przeróbki robisz w pliku sd_spi_32.c - konfiguracja peryferii. Natomiast w comm.c określasz interfejs dla terminala znakowego dla uart.
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...
A gdzie konfiguracja pinów czy RCC ? Kody do ADC na forum krążą chyba w 3 wersjach. Moja, FC i chyba nsvinca.
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...
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...
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ć...
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:...
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...
Witaj Żeby nie było, że się czepiam to w konfiguracji USARTA masz wpisane USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); Najlepsza droga do sprawdzenia, czy to działa to eksperyment :) Wpisałem Twój programik do STM32F103. Nie skorzystałem z przerwań, bo do eksperymentu to niepotrzebne. Miałem zwykłą pętlę while (1), a sprawdzanie USARTA do wysłania...
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:
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...
Cześć piszę aplikację pod silnik krokowy wysyłam paczkę Period, Repetition Counter, 50 % Pulse. Bez konfiguracji USARTA program działa bez zarzutu inkremntowana jest wartość bufora DMA i przesyłana do timera. Jak mam konfigurację USARTA to nagle przestaje działać i silnik kręci się o stałych obrotach. Czy mógłby mi ktoś powiedzieć co robię nie tak ?...
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ść...
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...
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?...
(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,...
Ale teraz jeszcze problem, czy w tym przypadku pin PA0 jest pinem, którym powinienem mierzyć napięcie ? Musisz zajrzeć do datasheeta Twojego układu - jeśli to F100, to jest to plik [url=http://www.st.com/internet/com/TECH...
Nikt nie pomoże??
Reasumując: 1. Włączasz zasilanie = nie działa 2. Wykonujesz reset STM'a = działa ? Mógłbyś jeszcze "main'a" pokazać, albo najlepiej odchudź kod do obsługi tylko SPI i wrzuć cały projekt.
Twoje pytanie niewiele ma wspólnego z UART. Chodzi Ci po prostu o to, jak przesłać coś, co ma więcej niż jeden bajt. Rozbij to na bajty - sposobów jest wiele (np. unia typu, jaki chcesz przesłać i wektora bajtów), a potem wysyłaj bajt po bajcie.
Ponawiam prośbę/zlecenie.
cytat z twojego przykładu: [syntax=c]__IO uint16_t CCR1_Val = 40961; __IO uint16_t CCR2_Val = 27309; __IO uint16_t CCR3_Val = 13654; __IO uint16_t CCR4_Val = 6826; uint16_t PrescalerValue = 0; [/syntax] PS. odliczyć sekundy już trudniej widzę nie można.
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ś...
STM32F10xxx I2C optimized examples AN2824
konfiguracja stm32 stm32 konfiguracja bibliotek stm32 konfiguracja biblioteka
ricoh reset bębna conduit engine zasada działania żyroskopu
ekspres instrukcja serwisowa schematy retro
Przetwornica buck do akumulatora 24V – jak uzyskać stabilne 18V, moduły LM2596, XL4015, MP2307 Kalibracja oscyloskopu Radiotechnika – procedura, wzorce, regulacja modeli OS-731, DT-3200