Witam, Chcę zrobić coś takiego: strumień danych z RX kanałów USART1 oraz USART2 ma być połączony w jeden strumień i przesyłany na bierząco kanałem USART3. Chciałem to zrobić na przerwaniach i czymś w rodzaju DIY bufora cyklicznego - USARTY w przerwaniach ładują do jednego bufora i inkrementują wskaźnik, natomiast w nieskończonej pętli w main.c jest...
1. Deinicjalizujesz RCC, PLL i pozostałe zegary 2. Resetujesz i wyłączasz Systick 3. Wyłączasz przerwania wcześniej zerując flagi 4. Ustawiasz wskaźnik stosu na początek pamięci bootloadera 4. Skaczesz do adresu pamięci bootloadera +4 Wszystko jest analogiczne do poniższego przykładu dla F4:
Witam. Piszę aplikacje pod stm32 w Keilu z wykorzystaniem biblioteki STM32F10x_StdPeriph_Driver. W przerwaniu od alarmu RTC mam: [syntax=c] void RTCAlarm_IRQHandler(void) { if (RTC_GetITStatus(RTC_IT_ALR) != RESET) { RTC_ClearITPendingBit(RTC_IT_ALR); RTC_WaitForLastTask(); RTC_SetAlarm(RTC_GetCounter()+10); RTC_WaitForLastTask(); GPIO_WriteBit(GPIOD,...
Witam! Mam problem z projektem na STM32. Chciałem użyć pamięci flash do zapamiętania potrzebnych mi parametrów. Problem pojawił się przy czyszczeniu flasha. Po wywołaniu FLASH_ErasePage dostaję flagę FLASH_FLAG_BANK1_EOP,co wydaje się całkiem prawidłowe. Program wraca do pracy z tym, że przez około 5s nie działają mi przerwania od timerów. Same timery...
Witam Mam problem z odpaleniem ADC na STM32F205ZG. Potrzebuje uruchomic przetwornik na 1 pomiar i w wygenerowanym przez ten przetwornik przerwaniu EOC odczytac pomiar. Czy ktos bylby w stanie podzielic sie kodem robiactym taka wydawaloby sie banalna rzecz? Moj kod niestety nie dziala. Probowalem zarowno z biblioteka ST (kod ponizej) jak i bez niej....
Cześć, Miałem już problem z konfiguracją FreeRTOSa. Szczegóły: [url=] Myślałem, że po dorzuceniu tych 3 linijek do FreeRTOSConfig.h i zakomentowaniu jednej z implementacji SysTicka wszystko już będzie działać jak należy... A jednak nie :P Pojawił się kolejny problem. Chcę skorzystać z funkcji inicjalizującej wyświetlacz , zawartej w bibliotece HAL....
Na początku podziękuję za dobry tutorial. A teraz mam prośbę. Próbowałem odpalić przykład z biblioteki STM32_USB-FS-Device_Lib_V3.3.0 (Virtual_COM_Port). Po pewnych bojach udaje mi się wszystko skompilować, natomiast po uruchomieniu program staje w nieskończonej pętli w funkcji static void __Default_Handler(void) z pliku vector.c. Czyli w tym pliku...
Wczoraj uruchomiłem RTC, działa ładnie, choć nie wiem dlaczego na koniec wpisu do rejestru RTC_CNT muszę dwa razy wyzerować bit RTC_CRL_CNF:) W następnej kolejności chcę uruchomić przerwanie od RTC, no i oczywiscie nie działa, inaczej nie pisałbym tu. Jak rozumiem z dokumntacji (tej cześci którą przeczytałem) i opisu przykladów, najpierw powinny być...
Na 99% nie. Można kombinować z auto-reload i transmisją jednego bajtu, o ile uda się przekonać DMA, że docelowy UART jest pamięcią, a nie peryferialem i o ile będziesz miał pewność, że nigdy dane nie będą równocześnie nadchodziły w takim tempie, żeby zapchać nadajnik. Czyli: nawet gdyby się udało, to jest to rozwiązanie wysoce niepewne i zawodne. Co...
Witam ! Posiadam mikrokontroler STM32L100RC. Chciałem napisać następujący program: Timer2 ma zliczać 5-krotne naciśnięcie przycisku i zapalać i gasić diodę w przerwaniu. Przycisk jest podłączony do pinu PA1, dioda do pinu PC9. Obsługa przerwania działała kiedy Timer był taktowany zegarem mikrokontrolera, zatem wnioskuję, że coś jest nie tak z ustawieniem...
Mam taki prosty programik: [syntax=c]void TIM1_BRK_UP_TRG_COM_IRQHandler(void) { TIM1->SR &= ~TIM_SR_UIF; GPIOA->ODR ^= GPIO_ODR_2; //led PA2 if(TIM1->CR1 & TIM_CR1_DIR) TIM1->CNT = 0; //blokuję licznik przed przeładowaniem else TIM1->CNT = 20; } void TIM1_CC_IRQHandler(void) { TIM1->SR &= ~TIM_SR_CC1IF; GPIOA->ODR ^=...
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 1.Czy używając semaforów lub kolejek w przerwaniach, minimalny czas odebrania takiego semafora, lub kolejki wynosi Tick, czyli 1 ms? Czyli w teorii max 1000 razy na sekundę..? 2. Jakie niebezpieczeństwo niesie za sobą obsługa całego przerwania w przerwaniu np od USB, nie używając semaforów lub kolejek. No bo działać to działa. 3. Co jeśli: -obsłużę...
Mam nastepujacy problem, probuje wywolac przerwanie zewnetrzne od przycisku ktore uruchomi mi licznik w celu eliminacji drgan stykow. Wszystko dziala dla przycisku podpietego do wyprowadzenia A0 ale dla przycisku podpietego do wyprowadzenia C13 juz nie dziala. Przy debagowaniu widze ze ciagle wchodzi mi w obsluge tego przerwania mimo ze przycisk nie...
Mam skonfigurowany I2C wraz z DMA do odbierania danych z sensorów. Inicjalizacja odbioru następuję z częstotliwością 100Hz i jest załączana przez timer, następnie standardowo w przerwaniach od I2C i DMA dane są odbierane. Konfiguracja jest prawidłowa, ponieważ gdy testuje odbiór danych podczas nieskończonej pustej pętli while w głównej funkcji main():...
Witam, Stworzyłem kod, który obsługuje przerwanie od wciśnięcia przycisku. Teraz działa tak, że wciśnięcie powoduje zapalenie diody. Po puszczeniu przycisku dioda się pali dalej, ktoś może mi powiedzieć co zmienić żeby tylko podczas wciśnięcia i trzymania przycisku dioda się paliła, po puszczeniu gasła? Pozdrawiam
Pojawił się u mnie ostatnio problem po dodaniu w programie przerwania od Timera. Dotychczas działało wszystko super, debagowanie trybie krokowym działało bez problemu itd. Po dodaniu przerwania program również działa ale niestety w trybie krokowym...nie do końca. Gdy zatrzymam rdzeń w jakimś miejscu programu i wykonam następną instrukcję pojawia się...
Witam, Zacząłem niedawno zabawę z STM32 i mam problem z przerwaniami oraz timerami. Chciałem uruchomić przerwanie zewnętrzne, a dalej przerwanie od timera co np 1sek. Jednak nie działa ani jedno ani drugie, czy ktoś mógłby nakierować mnie na dobrą drogę i powiedzieć co robię źle? Przeglądałem przykładowe aplikacje jednak dalej nie potrafię tego uruchomić....
Witam Aplikacja: Próbuję zrobić aplikację która odczytuje plik wav'e z karty sd (przez SPI2) i podaje go na DAC'a (SPI1). Potrafie osobno skorzystać zarówno z DAC'a jak i FatFs. I tak: Ustawiłem przerwanie które jest generowane 44100 razy na sekundę (I tutaj może być problem, za często). Podczas przetwarzania obsługi przerwania pobieram dane z podwójnego...
Witam Panowie czy mógłby ktoś sprawdzić na swoim stm32, jak "wkładacie" go USB ile razy pojawia się przerwanie od USB reset request. W programie z reguły jest tak: /* USB Reset Request */ if (istr & USB_ISTR_RESET) { // USB_Reset(); _SetISTR((uint16_t)CLR_RESET... U mnie jest koło 100 razy. Na SAM7X256, przy wkładaniu...
Witam Napotkałem na dziwny problem. Napisałem programik gdzie używam kilku przerwań m.in przerwania USART4. Jak wgram program przez JTAG-a i debuguje to wszystko działa bez zarzutów natomiast po zaprogramowaniu hexa do procka nie działa przerwanie od UART-a przy czym inne przerwania działają ok. Sam uart działa bo wysyła znaki natomiast przerwanie się...
Witam. Muszę napisać funkcje obsługi klawiatury matrycowej. Niestety generuje mi się dodatkowe przerwanie podczas zmiany stanu wyprowadzeń pinów. Przerwania jest generowane gdy aktywuje ponownie przerwania. void klawmat1(void) { GPIO_EXTILineConfig(GPIO_PortSourceGPIOE... GPIO_PinSource0); EXTI_InitStructure.EXTI_Line = EXTI_Line0; EXTI_InitStructure.EXTI_Mode...
Witam, początkowo zacząłem programować mikrokontroler stm32f103RBT6 wykorzystując bibliotekę standardową, ale zachęcony przeczytanymi postami na elektrodzie zacząłem programowanie wykorzystując tylko definicje rejestrów zawarte w pliku stm32fx.h. Chciałem włączyć jakiekolwiek przerwania (np. od timera 4) niestety wogóle nie wiem jak do tego się zabrać....
Mam problem z uruchomieniem jakiegokolwiek przerwania w STM32. Z tego co zauważyłem przy debugowaniu zaraz po skonfigurowaniu NVIC NVIC_Init(&NVIC_InitStructure... Program wskakuje do static void __Default_Handler(void){ while (1); } Mój kod (próba uruchomienia przerwania od ADC po zakończonej konwersji): __default_handler...
Witam, mam dziwny problem przy obsłudze przerwania od ADC End of Conversion. Gdy przetwornik ADC jest skonfigurowany do pracy z DMA procesor nie wchodzi do if`a gdzie jest zerowana flaga zakonczenia konwersji. Wchodzi jedynie do funkcji obslugi przerwania i po sprawdzeniu źródła przerwania wychodzi z niej. [syntax=c]void ADC1_2_IRQHandler ( void ) {...
Witam Mam uruchomione odczytywanie z 8 kanałów ADC w trybie Dual Mode (ADC_Mode_RegSimult). Dane przekazywane są przez 1. kanał DMA1 do tablicy w pamięci. Wszystko działa. Potrzebuję jednak, żeby po każdych 8 próbkach dostać przerwanie z DMA - DMA_IT_TC. I nie mogę sobie z tym poradzić - mam dość dziwne zachowanie: Za 1. razem program wchodzi w przerwanie...
Witam, przy ustawionym preskalerze np na 80 przerwanie zostaje wywołane, ale gdy zmniejsze preskaler to przerwanie się nie wykonuje. #include "stm32f10x.h" void RCC_Conf(void); void Show(int); void GPIO_Conf(void); void NVIC_Conf(void); void TIM_Conf(void); . . . int main(void) { #ifdef...
Witam, Od razu pisze że nie jestem mistrzem w pisaniu programów, a z stm zaczynam swoją przygodę. Chce wyłączyć przerwanie od EXTI na przykład po obsłudze tego przerwania: Do wyłączenie/wyłączenia przerwania np. od Timera jest TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); //TIM IT enable Generalnie chodzi mi o to że muszę zrobić detekcje sekwencji...
Cześć. Proszę Was pomóżcie bo coś mieszam sobie i nie wiem co jest grane. Bawię się przerwaniami EXTI w uC STM32. W założeniu zbocze opadające na liniach PC0, PC1, PC2 i PC3 oraz PB5 ma wywołać przerwanie i PC0 i PC1 gasi/zapala LED1 podłączoną do PB1 natomiast PC2 i PC3 gasi zapala LED2 podłączoną do PB2. Przerwanie na PB5 ma zapalić obie diody na...
Witam, Szukałem na forum i nie znalazłem... Mam taki oto problem, przerwania są skonfigurowane w następujący sposób: [syntax=c] NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); NVIC_PriorityGroupConfig(NVIC_PriorityGr... NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemp...
Zaczynam zabawę z stm32. Chciałbym obsłużyć USART przez przerwania. Większość przykładów opiera się na stdperiph lib, chciałbym uniknąć stosowania tej biblioteki. Używam tylko nagłówka stm32f10x. Wydaje się że włączyłem przerwanie przez NVIC_EnableIRQ(USART1_IRQn) bit w rejestrze USART1->CR1 również został ustawiony i w zasadzie na tym utknąłem. Prosiłbym...
Chciałbym wywołać przerwanie po naciśnięciu przycisku.Przycisk mam na porcie PA9, po naciśnięciu chciałbym zapalić diode na porcie pa10 niestety nie działa mi, co robie nie tak? [syntax=cpp] #include "stm32f10x_conf.h" #include "stm32f10x_gpio.h" #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" #include "misc.h" #include...
Witam, chciałbym mieć przerwanie zewnętrzne na PE0 a cały czas cokolwike bym nie zrobił, przełączył, zmienił itd jest na PA0, moglby ktos rzucic okiem na kod i powiedziec co jest zle... wydaje mi sie ze w tym syscfg jest cos zrabane, albo nie chce sie ustawic etc... swoje wnioski opieram na tym ze PA0..2 normalnie smiga tylko nie mogeprzejsc jakby na...
Od kilku dni bawię się płytką st32f401-c disco. Nie wiem dokładnie jak działają timery. Potrzebuję mieć przerwanie co 10ms. Z tego co przeczytałem w internecie powinno to wyglądać tak: [syntax=c]T IM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 9999; // 100Hz - 10ms TIM_TimeBaseStructure.TIM_Prescaler = 41; // 1000000MHz...
Witam ponownie tym razem próbuję uruchomić przerwanie od TIM7 w mikro STM32 F303VC6 na płytce Discovery F3. Napisałem konfiguracje NVIC i TIM7 po czym uruchomiłem całość i owszem to co jest w funkcji obsługi przerwania jest wykonywane ale mam wrażenie, że pełną częstotliwością a nie co 1 sekundę tj ustawiłem. Prosiłbym o jakieś wskazówki bo pierwszy...
witam Podpiąłem włącznik pod gipo ustawiłem na nim przerwanie i zmienną która je zlicza. jak przycisk trzymam krótko to licznik powiększa się o jeden prawidłowo, przy dłuższym przytrzymaniu przycisku zliczenie ( przerwanie ) występuje na przyciśnięciu i puszczeniu guzika, proszę o pomoc [syntax=c]void Clock_init(void); void GPIO_init(void); void NVIC_init(void);...
Witam, w przerwaniu inkrementuję pewną zmienną i tu powstaje problem; warunek: if(write_bit_tim2==10) wykonuje się gdy write_bit_tim2==5, nie wiem czym jest to spowodowane ponieważ przerwanie wykonuje się co sekundę(dioda miga co sekundę). Miał ktoś coś podobnego i wie czym jest to spowodowane? Dziękuję. Kod: [syntax=c] #include "stm32f0xx.h" #include...
Witam, właśnie zacząłem przerabiać kurs ze strony układ na jakim pracuje to stm32f103c8t6 w środowisku Eclipse. Niestety moja nauka stanęła na przerwaniach od przycisku. Mianowicie mimo wciśnięcia przycisku przerwanie się nie wykonuje. Kod programu: Czy ktoś wie w czym może być problem? Z góry dziękuję za odpowiedź.
Witam, mam problem z zapisywaniem danych do pamięci Nand Flash komunikującej się z STM32F746IG za pośrednictwem interfejsu FSMC. Gdy wygeneruję projekt z CubeMx konfigurujący tylko pamięć flash wszystko działa, tzn. zapis, odczyt, kasowanie, czytanie ID itp. Problem pojawia się gdy do projektu dodam TIMER (w sumie cokolwiek co generuje przerwanie),...
Witam W jednym ze swoich projektów założyłem sobie że co pewien czas będzie zmieniała mi się animacja na pasku diód WS2812. Tak na szybko w ramach testów chciałem to zrealizować przerwaniem od SYSTICK. W przerwaniu wywoływana jest funkcja z pierwszym efektem, w której jest nieskończona pętla. Na moją wiedzę ;-), wyobrażałem sobie że kolejne przerwanie...
Niby proste, ale jak ma się mało do czynienia z STM32 to zaczyna byc jednak mylące Mam takich parę pytań bo sie lekko zamieszałem, a nie do końca wiem gdzie to może być napisane? 1. Które z przerwań, wyjątków są związane z rdzeniem, a które za tzw. zewnętrzne? 2. Które przerwania "przechodzą" przez NVIC? Każde z ustawianym priorytetem. Z tego co rozumiem...
Witam, mam problem z opanowaniem przerwań na mikrokontrolerze stm32f401re. Próbuję odczytać pomiary z żyroskopu l3gd20h. Pomiar blokujący działa bez zarzutu, kod załączam. Problem w tym że potrzebuję pomiar nieblokujący i chciałem to zrobić na przerwaniach. Niestety tu pojawia sie problem bo nie działa mi to prawidłowo, są same zera. Specjalistą nie...
Udało mi się napisać kod, niestety z jakiś powodów nie działa. Nie wysyła ramek. Prawdopodobnie jest coś z inicjalizacją źle. Mógłby ktoś sprawdzić dlaczego? [syntax=c]#include "stm32f10x.h" #include "misc.h" #include "stm32f10x_can.h" #include "stm32f10x_rcc.h" #include "stm32f10x_gpio.h" int i; CanTxMsg TxMessage; CanRxMsg rx_message; uint8_t TransmitMailbox...
Jak w temacie. Nie mogę wgrać programu do procesora. Tak wiem, to nie jest pełna komenda, ale już na niej się wysypuje. Programowanie STM32F103 działa świetnie. JTag od Freddiego. openocd -f interface/jtagkey.cfg -f target/stm32f1x.cfg -c init -c "reset halt" Open On-Chip Debugger 0.6.1 (2012-10-12-19:56) Licensed under GNU GPL v2 For bug reports, read...
Witam. Czytam właśnie o trybach uśpienia i w trakcie eksperymentów coś chyba zepsułem... Wszystko działało do chwili gdy w głównej pętli wywołałem __WFI();. Przerwania działają, niestety OpenOCD zgłasza błędy i teraz nie mogę przeprogramować procesora. Właśnie zauważyłem, że przypadkiem wykasowałem też konfigurację NVIC :(, czyli jest tak która jest...
Witam! Otóż moje następujące pytania: Czy to, co tutaj jest napisane ma prawo działać prawidłowo? Głównie mi chodzi o to, czy jest to w miarę dobrze zaprogramowane( aktualnie brak możliwości sprawdzenia, z powodu braku rezystora). Drugie pytanie, jeżeli mam funkcje USART_puts, jak zrobić, by temperatura zostawała przekazywana właśnie przez tą funkcję?...
Witam, Mam problem z baudrate'm na płytce STM32F4-discovery. Mianowicie jestem pewien, że konfiguracja zegarów taktujących jest w porządku jednak terminal wywala mi tzw. "krzaki". Poniżej zamieszczam kod oraz screen z HTerm'a. Mam na celu wysyłać znak kiedy pojawia się przerwanie od TIM2, w tym samym czasie przełączam stan diody, co na płytce działa...
Witam mam problem z miganiem dwoma diodami, ale czysto sprzętowo, za pomocą timera 3 w trybie outpu compare. Pisząc program wzorowałem się na kodzie ze strony . Mój kod różni się tylko tym, że nie wykonuje tutaj remmapu, ponieważ w moim uC (stm32f103vct6) TIM3_CH3 i TIM3_CH4 jest podłączony do wyjść PB0 i PB1 w alternate function jako default. Nie mam...
Stary temat ale podepnę się bo mam podobny problem. Próbuję skomunikować STM32F429 (płytka discovery disco) z Atmegą8 (nie 88). STM Master Reviever <<>> Atmega Slave Transmiter. Wzorowałem sie trochę na kodzie kolegi i trochę na tym tutorialu: Problem kolegi kolegi polegał na niepoprawnej bibliotece systemowej do STM32F1. Ja natomiast posiadam...
SPL - Standard Peripherial Library od ST, producenta uC z serii STM32Fxxx to zestaw funkcji, które w założeniu miały ułatwić pisanie programów. Założenia były bardzo dobre, ale wykonanie, a chyba jeszcze bardziej sposób korzystania z funkcji dostępnych w pakiecie sprawia, że kod jest nieefektywny, nie daje pełnej kontroli nad układami i wcale nie jest...
Witam. Po ogarnięciu portów i/o chciałem przejść do konwersji ADC. Początkowo zakładam, że nie korzystam z przerwań, nie korzystam z DMA. Screeny z Cube: Plik main: /** ****************************************... * (at)file stm32f4xx_hal_adc.c * (at)author MCD Application Team * (at)version V1.0.0 * (at)date 18-February-2014...
Witam. Na początek pochwalę się kodem : Tak wygląda main: [syntax=c]int main(void) { /* This sample code shows how to use STM32F4xx GPIO HAL API to toggle PG13 IOs (connected to LED3 on STM32F429i-Discovery board) in an infinite loop. To proceed, 3 steps are required: */ /* STM32F4xx HAL library initialization: - Configure the Flash prefetch, instruction...
Staram się połączyć STM32F0 z kartą SD (w sumie to mikroSDHC), ale niestety marne są tego skutki. Próbowałem już kilka kodów znalezionych w internecie ale w końcu zatrzymałem się na znalezionym na jakiejś niemieckiej stronie.. Skompilowałem, wyskoczyło mi kilka błędów związanych z nazewnictwem i deklaracjami funkcji to je poprawiłem. Kod teraz wygląda...
Witam ponownie, mam teraz niezwykłą zagadkę, tak więc posklejałem kawałek kodu który obsługuje USART + Ethernet - program polega jedynie na tym że jak odbierze jakąkolwiek ramkę Ethernetową to powiadomi o niej i wyśle przez RS-232 MAC address nadawcy i odbiorycy (przy czym tutaj kwestia estetyczna jest niedopracowana) - tak czy inaczej kod ten przetestowałem...
Została mi jeszcze jedna rzecz do zrobienia. W projekty na których się wzorowałem stworzone zostały dla rodziny STM32F10x MD, ja mam zestawik ewaluacyjny z układem z rodziny STM32F10X MD VL. Zauważyłem, że poza oczywiście peryferiami, rozmiarami pamięci i maksymalną prędkością taktowania różnią się również adresami przerwań. Czy żeby to pozmieniać to...
Napisałem program obsługujący komunikację RS232 dla płytki STM32 P103: - dokumentacja płytki - schemat Niestety łącząc docelowo przez konwerter RS232 -> RS485 i podłączając do serwomechanizmu RS28 dynamixel podłączyłem raz zasilanie 15V, 1.2A na lini danych RSa... I tu pierwsze pytanie... możliwe, że szlak trafił konwerter i RS232 na płytce? Sama...
Bardzo fajnie, że wreszcie coś na STM32 się pojawiło Na tych prockach sporo się dziej tylko zwykle jest mało czasu na sam projekt co dopiero na jego ew upublicznienie ;) W zeszłym tygodniu bawiłem się połączeniem STM32F103(HY-mini)+SSD1963 sterujący panelem TFT AT070TN92. Niby procek szybki bo 72MHz a samo czyszczenie ekranu jednym kolorem również...
Witam, znalazłem gotowy projekt do obsługi usb w stm32f4 (załącznik usb_hid_3) i projekt po otworzeniu w coocox działa bez zarzutu. Gryzie mnie tylko porozrzucanie plików przez autora, chciałem wykorzystać obsługę usb w większym projekcie dlatego postanowiłem stworzyć nowy i wszystkie pliki odpowiedzialne za usb umieścić w jednym folderze o nazwie USB...
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, Próbuje stworzyć połączenie między dwoma układami z użyciem interfejsu SPI. Obecnie urządzenia są oddalone od siebie o jakieś 10cm i podłączone zwykłymi kabelkami(4 kabelki wtykane na piny). SPI Master: obecnie-STM32F103ZET6; docelowo STM32F105VB. SPI Slave: STM32F103VCT6 Mam jednak ciągle problemy z błędami w transmisji. Gdy podglądam szyny...
Witam, Próbuje zrobić urządzenie, które w tym samym czasie będzie wstanie komunikować się z komputerem (USB HID DEVICE), jak i przyjmować komendy z klawiatury, bezpośrednio podpiętej do niego (USB HOST). STM32F407VG ma dwa kontrolery USB: - OTG_FS - wykorzystany do komunikacji z komputerem (tryb HID DEVICE) - OTG_HS - wykorzystany do obsługi klawiatury...
Witam, Realizuję pracę inżynierską na zestawie uruchomieniowym ZL27ARM z mikrokontrolerem STM32. Praca jest w zasadzie gotowa, ale niestety nie działa do końca poprawnie. Praca jest tworzona głównie w oparciu o książkę STM32 Aplikacje i ćwiczenia w języku C. Środowiskiem programistycznym wykorzystywanym w pracy jest Keil uVision 5. W pracy wykorzystane...
Witam piszę aplikację obsługującą silnik krokowy. Wykorzystuje do tego PWM ( Nie pytać dlaczego, tak chciał prowadzący). Na początku robiłem to na przerwaniach, ale się nie spodobało. Miałem wykorzystać do tego DMA + PWM i ładować z DMA wartości do periodu, tak aby okres ten był zmienny. Napisałem aplikację, ale niestety nie zmienia się period jest...
W oknie debugera możesz zobaczyć ile czasu wykonują się poszczególne fragmenty programu. Czy możesz pokazać zrzut ekranu z taką informacją? Na pewno pomoże to wielu Kolegom, szczególnie tym początkującym. (at)bartosz.tarnowski Mowa jest o STM32F4, czyli Cortex-M4, nie M3. Poza tym, w tych układach jest akcelerator dostępu do pamięci programu, który...
Witam! Zaczynam przygodę z stm32. Mam płytkę stm32discovery, którą programuje w środowisku IAR. Napisałem programik, który komunikuje się po uarcie z kompem. Program działa- wysyłam rozkaz z terminala na, który mikrokontroler odpowiada (wykorzystuje przerwania). Problem zaczyna się gdy resetuje układ. Kroki postępowania: 1. Kompiluje program o IARze...
A zna ktoś może jakiś dobry przykład pod stm32f107 bo przykłady Freddiego Chopina są na stm32f103. ... Przecież wystarczy zmienić rozmiary pamięci w skrypcie linkera (tylko i wyłącznie). No i zgodnie z RM0008 zmodyfikować tablicę wektora przerwań, którą właściwie już masz w swoim projekcie więc wystarczy, że ją tam przekopiujesz. Minuta roboty Btw....
Skonstruowałem sobie kabel, wygląda na to, że podłączyłem go poprawnie (posprawdzałem multimetrem, wszystko łączy, zwarć niby nie ma), niemniej jednak nie mam łączności ani w jedną, ani w drugą stronę (używam HyperTerminal i RealTerm). Czy mógłbym jeszcze poprosić o sprawdzenie kodu? Chciałem napisać najbardziej banalne wysyłanie/odbieranie bez przerwań,...
Witam serdecznie Mam problem z okiełznaniem przetwornika DAC w wymienionym w tytule układzie. Zanim pokażę kod powiem, że już brak mi pomysłów, moim zdaniem robię wszystko identycznie jak w przykładowym programie "DAC_SignalsGeneration" z taką różnicą, że nie wykorzystuję mechanizmu DMA. Po 2 dniach siedzenia nie ma wielkich postępów, na pinie wyjściowym...
Witajcie. Witajcie, mam spory problem. Próbuje zacząć zabawę z STM32F4. Zainstalowałem sobie CooCox IDE 1.51 do tego dograłem sobie - GNU Tools ARM Embedded (4.6 2012q2). Próbuję się z tym bawić, bo muszę przez STM32 zaprogramować USART, wyświetlacz itd. Ciężko to widzę, ale próbuję. Ogólnie mam wyświetlacz taki: Wszystko przygotowane do podpięcia,...
Zmieniłem trochę w projekcie. Zastosowałem najnowszą wersję FatFS. Plik z konfiguracją funkcji zadeklarowanych diskio.h pobrałem ze [url=]TEJ strony i przerobiłem go by pasował do STM32L. Po testach objawy wyglądają tak: Karty 512MB i 16GB: porgram mniej więcej w 3/4 przypadków zawiesza się po inicjalizacji (f_mount zwraca "FR_OK = 0, /* (0) Succeeded...
Pozwalam sobie odgrzać temat, bo właśnie zrezygnowałem z realizacji pracy magisterskiej o podobnym temacie - tyle że z nieco innego powodu. Może komuś się przydadzą moje doświadczenia. Jeżeli chodzi o płytkę DISCOVERY, Ethernet i IP, to - owszem - są gotowe przykłady (myślę o tych udostępnianych przez ST) ale ja zabrałem się za ten temat z trochę innej...
Widzę dane chcesz pobierać jak przyjdzie przerwanie z memsa. Niestety mam ten sam problem. Ten akcelerometr nie chce wysyłać przerwań. Zobacz na razie zrób odczyt wyzwalany timerem wtedy będziesz wiedział czy komunikacja działa. Bo z tymi przerwaniami coś jest nie tak.
Patrzyłem zbyt wąsko na problem - znowu (!) coś dzieje się z transmisją przez USART :/ Jeśli w pętli while(1) nie używam "żądania" wysłania na terminal "w" w celu przesłania wartości mierzonej przez ADC - program działa. Wraz z dopisaniem linijki odpowiedzialnej za sprawdzanie co pojawia się w terminalu, program działa tylko w przypadku (A) ! (czyli...
Witam, Próbuję przeportować projekt STM324xG-EVAL_USB_Host_HID na płytkę stm32f4-discovery bo tylko taką posiadam z tym procesorem. Potrzebuję wreszcie uruchomić hosta USB w moich projektach bo inaczej SBC na linuxie mnie niedługo wygryzą. Zmiany ograniczają się właściwie do: - usunięcia obsługi LCD, diod LED i przycisku, - zmiany pinu enable dla VBUS,...
Od kilku dni walczę z ćwiczenie 8.4 z kursu: W kursie jest kod dla F103, ja próbuję to przerobić dla wersji F407. Niestety bezowocnie. Sam timer, kiedy wyzwalać go sygnałem zegarowym, działa prawidłowo i włącza/wyłącza diody w procedurze przerwania. Niestety kiedy ma zliczać impulsy na pinie PA8, wtedy mam tylko mrugającą diodę sygnalizującą pracę SysTick....
Program zachowuje się gdyby chciał a nie mógł skorzystać z SysTick_Handler. Najpierw kod: Przy zmniejszeniu ilości taktów na przerwanie w systicku i debugowaniu po kroku przerwanie w ogóle nie występuje. A gdy przy w/w kodzie ma być wywołane przerwane (via step to line) program wiesza się w miejscu: Wg datasheeta przerwanie to powinno mieć adres 0x0000003C....
Witajcie, stworzyłem analizator w oparciu o wzór na DFT. Niby wszystko fajnie, ale problem jest taki, że jak puszczam to w ruch to na każdym "widmie" mam to samo ;/ Sprawdzałem na dwóch prążkach (różne konfiguracje) i ciągle skaczą w taki sam sposób. Kod main.c: [syntax=c]/** ****************************************...
Tym razem przedstawiam Bootloader USB MSC (Mass Storage Class) dla tanich modułów na mikrokontrolerze STM32F103C8T6. Mocno się muszę tu hamować by nie wykrzyczeć "rewelacja". I za to, że tylko cztery kilo. I za tą tak skrajnie minimalistyczną sprzętowo , lecz wygodną koncepcję użycia resetu jako aktywacji bootloadera. Choć ma to pewne uboczne konsekwencje...
Zacznij od echa w pętli bez przerwań. Jak to zadziała - zacznij walkę z przerwaniami, najpierw nadwania, potem odbioru. Kod z użyciem bibliotek jest tak obrzydliwie długi, że nie chce się go analizować. Na moje oko coś za dużo machasz bitami konfiguracji przerwań w przerwanaich i poza nimi.
Witam od dwóch dni mam problem z USART na stm32f4discovery. Otóż napisałem sobie prosty programik na bazie tego przykładu pod stm32f4discovery ze strony Freddiego Chopina, tyle że sam napisałem sobie konfigurację zegarów itd. Zrobiłem konfigurację USART 6, napisałem funkcję do wysyłania jednego bajtu oraz całego słowa i wrzuciłem sobie wysyłanie bajtu,...
Witajcie, Mam taki dziwny problem, chcę aby jeden SPI wysyłał dane (liczby, jako master) do drugiego SPI (slave, na tym samym DISCOVERY). Drugi SPI ma odsyłać sumę danych jakie otrzymał w pojedynczej ramce danych. Gdy NSS z SPI1 wisi w powietrzy to dane z SPI1 są wysyłane a pin NSS zachowuje się tak jak powinien. Gdy podepnę go do NSS w SPI2 lub do...
Używam STM32F7-45 na własnej płytce i próbuje zrobić USB Device podpinane do PC (próbowałem (osobno) virtual COM i HID). Ale po wpięciu do PC płytka jest wykrywana (po chwili) z błędem "Nieznane urządzenie - żądanie deskryptora urządzenia nie powiodło się". Elektrycznie (PCB): - Myślę, że samo PCB nie jest tutaj błędem. Prowadzę po prostu sygnały D+...
Witam, Ostatnio zacząłem przechodzić na mikrokontrolery STM32 i testowałem program zawarty poniżej. Licznik TIM2 zlicza w górę, drugi licznik generuje żądanie DMA od przepełnienia się licznika, wysyłając wartość licznika CNT TIM2 do tablicy, która jest inkrementowana. Powinienem otrzymać w tablicy wartości zwiększające się cyklicznie co tą samą wartość,...
Hej. Pacjent to STM32F401VCT6 taktowany domyślnym zegarem wewnętrznym 16MHz. Uruchomiłem sensor HC-SR04 wykorzystując TIM2 do zliczania długości impulsu ECHO wykorzystując tryb capture oraz DMA. Do rejestru TIM2->PSC ładuje 15, ponieważ chcę aby wartość CNT inkrementowała się co 1us. Kod źródłowy poniżej: [syntax=c] #include "stm32f4xx.h" static...
Witam. Korzystając z STM32 Discovery (procesor STM32F100RBT6B) buduję pewien układ w którym potrzebuje maksymalnej częstotliwości zbierania danych. Po dziwnych wynikach pracy przetwornika wskazujących zbyt wolne zbieranie próbek postanowiłem sprawdzić jak często nadchodzą przerwania po zakończeniu konwersji. W przerwaniu od ADC1 zmieniam stan diody...
franek.bmw mógłbyś pochwalić się wynikami tego akcelerometru. Nie wiem czy przy jego obsłudze poczyniłem jakiś błąd, ale szumy, które otrzymuje sięgają 20mg, bez znaczenia jest tryb, który wybieram low-noise/low-power. Odczyt działa poprawnie, zewnętrzne przerwanie, oraz automatyczny reset przerwania odbywają się prawidłowo najpierw wysyłam adres 0x02...
Witam Zastanawiałem się ostatnio czy ktoś już przypadkiem nie wpadł na to, żeby napisać bootloader dla STM32 ale nie connectivity line? Przykładowo taki STM32F103ZET6, nie ma wbudowanego bootloadera który byłby w stanie zgrać program przez usb (chyba, że źle przeczytałem notę katalogową). Generalnie wymyśliłem sobie takie coś. 1. Uruchamiam urządzenie,...
Witam Też zdarzało mi się zawiesić program podczas obsługi I2C w końcu są tam pętle while a zakłócenie może przerwać komunikacje. Watchdog jest tu wyjściem ale myślę że lepszym rozwiązaniem jest wstawienie w pętle warunku czasowego przy czym trzeba pamiętać że przy spełnieniu warunku należy zresetować I2C.
Dzień dobry. Do układu wgrałem przykładowy program, PWM input obliczający częstotliwość, dostarczony do STM32F4-Discovery. Zamiast licznika TIM4 wykorzystałem licznik TIM5. Układ działa prawidłowo. Oblicza właściwą częstotliwość Inicjalizacja licznika: 2. Configure the Time base unit as described in the first part of this driver, if needed, else the...
Ciekawe - ja u siebie mam wszystkie transmisje działające przy CPOL/CPHA=1 - no, ale może ten wyświetlacz ma inne wymagania. Przydałby się podgląd tego co wychodzi ze scalaka za pomocą analizatora stanów logicznych. Zmiana baudrate nie powinna na nic wpływać poza samą prędkością transmisji. Ja u siebie szybkość zmieniam tak: [syntax=c] //======================================...
Witam, Od kilku dni staram okiełznać STMPE811 lecz to co napisałem daje mi połowiczny sukces. Mianowicie. Kontroler wykorzystuje komunikacje i2c z uk STM32F030. Kod pod I2C napisałem względem noty katalogowej (był tam pokazany schemat w jaki sposób trzeba konfigurować rejestry by móc się komunikować z układami przez I2C, poniżej kod) void I2C1_Init...
Witam wszystkich Tym razem chciałbym zaprezentować jeszcze programowy projekt radioodbiornika internetowego. Prezentowany projekt jest rozszerzeniem przedstawionego wcześniej projektu odtwarzacza i dyktafonu na STM32F407VG. Połączenie z Internetem zapewnia moduł WiFi WF121-A (internal antenna) produkcji Bluegiga (teraz Silicon Labs). Radioodbiornik...
Witam, jak w temacie zaaplikowałem następujący kod do ARM przycisk mam na PORTA pin 0 [syntax=c] #include"stm32f0xx.h" int main(void) { RCC->AHBENR |= RCC_AHBENR_GPIOAEN|RCC_AHBENR_GPIOCEN; SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PA; GPIOC->MODER |= GPIO_MODER_MODER8_0; GPIOC->ODR |= GPIO_ODR_8; EXTI->IMR |= EXTI_IMR_MR0; EXTI->RTSR |= EXTI_RTSR_TR0;//Rissing...
Cześć mam problem z odczytaniem wartości z kanałów w adc, chciałem to zrobić na przerwaniu, płytka stm32l-discovery, procek stmL152tbt6, keil uvision 5 piny na analog ustawione, clock odpalony [syntax=c] void adc_conf(void){ if(!(RCC->APB2ENR & RCC_APB2ENR_ADC1EN)) RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; ADC1->CR2 |= ADC_CR2_ADON | ADC_CR2_CONT;...
Po ostatnich wątkach postanowiłem napisać mikroporadnik bo czytać się już tego nie da. Część pierwsza - jak podłaczyć STM32F103 BluePill do ST-Link z Nucleo i jak skonfigurować Atollic for STM32. Nieco przykurzone Nucleo STM32F446RE i BluePill 1. Zdejmij jumpery ze zworki ST-Link 2. Podłaczyć kabelkami zgodnie z poniższym rysunkiem. Można zamiast zasilania...
Witam, cały dzień męczę się z obsługą przerwania od odbioru danych w STM32103RB. Korzystam z biblioteki HAL. Po całym dniu dalej nie wiem jak to ma wyglądać, dostępne example robione są w STM32CubeMX, a ja z tego nie korzystam. W dokumentacji chyba nie potrafię się poruszać bo nie wyiskałem z niej co po kolei trzeba wywoływać aby obsłużyć to przerwanie....
Witam, Próbuję wykorzystać funkcjonalność DMA burst aby pobierać wartości rejestrów ARR, RCR i CCR1 przy każdym update event timera 1 z tablicy bez zajmowania procesora. Program działa prawidłowo po wystąpieniu pierwszego przerwania UEV od TIM1, lecz kolejny transfer danych wprowadza inne dane do tych rejestrów niż zamierzone (znajdujące się w tablicy)....
Poniższy artykuł przedstawia – krok po kroku – wykonanie niewielkiego, kieszonkowego oscyloskopu cyfrowego. Nie jest on tak dobry jak zwykły warsztatowy oscyloskop, ale z drugiej strony można zabrać go niemalże wszędzie. Poza tym – nie wszystkie projekty DIY muszą mieć sens. „Przeglądając Internet natknąłem się na proste oscyloskopy...
Możesz dać gotowca jak masz i przeanalizuje to. Gotowca (źródła), który działa prawie identycznie (inne częstotliwości migania ale to drobny szczegół) jak Twoje założenia projektowe, masz u siebie na dysku. Jest to program demo wgrywany fabrycznie do płytek Nucleo i znajduje się w repozytorium programu STM32CubeIDE. Gdzie akurat u Ciebie na dysku jest...
Czołem, Stworzyłem kilka testowych projektów, skonfigurowałem NVIC dla kilku źródeł przerwań. Wszystko działa ok, przerwania są wywłaszczane itp. Mam jednak wrażenie, że nie do końca czuję temat tak jak powinienem. Czy opowiecie mi jaka jest zależność pomiędzy priorytetami grupowymi i podpriorytetami w Cortex M3? Jak z zasadami sztuki konfigurować rejestry...
Witam ponownie Troche czasu minelo i zdazylem bardziej doglebnie poznac ten zestaw ref. jak i sam procesor STM32. Niestety wraz z rozrastaniem sie projektu powracaja stare bledy i tak: W trybie SC USART nie generuje mi przerwan dla kazdego znaku, tzn.: Przy wysylaniu przez karte ATR w stanie RSTIN LOW moj soft dostaje tylko jeden bajt (pierwszy z ATR)...
Witam, Od kilku dni próbuję uruchomić USB w STM32. Używam STM32F10x_StdPeriph_Lib_V3.4.0 i STM32_USB-FS-Device_Lib_V3.0.1 (na Eclipsie z OpenSourcery). Urządzenie jest wykrywane jako uszkodzone. Próbuję zrobić Mass Storage Device, z kartą SD podłączoną przez SPI. Linia D+ podciągnięta do zasilania (na stałe) przez rezystor 1.6 K. Czy mógłbym prosić...
Witam, z góry przepraszam za mój nikły poziom obeznania w świecie STM32. Myślę, że problem będzie błahy dla wielkich myślicieli elektrody :) Otóż skonfigurowałem sobie TIM7 do pracy tak: [syntax=c]TIM_TimeBaseInitTypeDef TIM_InitStructure; TIM_InitStructure.TIM_Period = 4; TIM_InitStructure.TIM_Prescaler = 999; TIM_TimeBaseInit(TIM7, &TIM_InitStructure);...
W normalnym świecie SPI działa w ten sposób, że wysyłając jeden bajt, odbiera się jeden. Pisząc pewien ogromny program, używałem powyższego założenia implementując obsługę SPI1 z pomocą kanałów DMA (DMA1_Ch2 i DMA1_Ch3). Jeden kanał używany do transferu bloku z pamięci RAM do SPI1->DR, drugi kanał do transferu w drugą stronę. Wszystko działało bez najmniejszego...
Dobra, poprawiłem to. Nie włączam przerwań. Dobrze konfiguruję UARTa? Na terminalu to powinno automatycznie odbierać? [syntax=c]/* Includes */ #include <stddef.h> #include <stdio.h> #include "stm32l1xx.h" //defined USE_STM32L_DISCOVERY #include "discover_board.h" #include "stm32l_discovery_lcd.h" /* Private typedef */ /* Private define */...
Witam! Posiadam moduł wyświetlacza LCD 3.2", prawdopodobnie na sterowniku SSD1289 (sprzedawca twierdził, że na HX8347-A, jednak dopiero metoda inicjalizacji do SSD1289 zadziałała). Próbuję nim sterować przy pomocy mikrokontrolera STM32F103RBT6. Wszystko zdaje się działać dobrze, do czasu gdy chcę wyświetlić jasny kolor, np. RGB(240,240,240). Wtedy sterownik...
Od kilku dni próbuję uruchomić FreeRTOS i zamigać diodami na zestawie Hymini z procesorem STM32F103VCT6. Używam Eclipse Juno oraz Sourcery G++ Lite 4.6.3. Projekt kompiluje się poprawnie. Wcześniej program zatrzymywał się na przerwaniu HardFault_Handler. W pliku FreeRTOSConfig.h dodałem więc linie #define vPortSVCHandler SVC_Handler #define xPortPendSVHandler...
Skorzystaj z mojego skryptu linkera - ten który masz jest niewystarczający. W artykule nic nie pisałem o zastępowaniu skryptu linkera innym... Przy okazji: dorzucając FreeRTOS'a do projektu, w makefile'u wystarczy dodać ścieżki do źródeł systemu, czy wymagane są dodatkowe informacje dla kompilatora? Trzeba "przyczepić" 3 funkcje FreeRTOSa do 3 przerwań...
tablica wektorów sprawdzana kilka razy Dodano po 3 [syntax=asm]void TIM14_IRQHandler(void) { 80002a4:b580 push{r7, lr} 80002a6:af00 addr7, sp, #0 TIM14->SR = ~TIM_SR_UIF; 80002a8:4b0e ldrr3, [pc, #56]; (80002e4 <TIM14_IRQHandler+0x40>) 80002aa:2202 movsr2, #2 80002ac:4252 negsr2, r2 80002ae:821a strhr2, [r3, #16][/syntax] wskazuje na adres...
Witam, Mam problem z nawiązaniem komunikacji z czujnikiem ciśnienia "asdx001d44r-d0" po I2C. Używam mikro klocka stm32f103rbt6. Nie używam bibliotek. Do tej pory udało mi się coś takiego lecz nie działa: załączam i2c_1: [syntax=c]RCC->APB1ENR|=1<<21; //I2C1ENR - podłączam zegar do I2C1. GPIOB->CRL=0xFF333333; //PB6_I2C_SCL ustawiam na "11...
Witam, podepnę się pod temat bo w podobnej konfiguracji działam ze swoją płytką, czyli (całość na x64, win7): - Eclipse Kepler (z GDB Hardware Debugging 7.2.0 + Zylin 4.18.1) - BET-131005 od Freddiego - Coreutils - openocd-x64-0.7.0 - płytka STM32F4Discovery Zaimportowany i skompilowany przykład od Freddiego (stm32f4_blink_led). Mój problem dotyczy...
Jeżeli uszkodzenie procesora to w takim razie tylko częściowe, ponieważ mogę zaprogramować procesor drobnymi programami, nawet takim większym lecz musiałem z niego wyrzucić obsługę przerwań(inaczej był błąd podczas programowania) i również nie było problemu z zaprogramowaniem. Czyli uszkodzenie, czy może jednak da się odblokować kilkanaście tych stron?
Ciekawe, że jeszcze niedawno chciałeś próbkować z częstotliwością 100 Hz... I dalej chcę. Szybciej mi nie potrzeba. Zapis na kartę SD nie przeszkadza w próbkowaniu i składowaniu wyników do RAM. w 250 ms możesz na kartę SD zapisać kilka MB danych. Nie wiem, skąd obawy o wydajność. Chodzi o to, że podobno w tym samym czasie procesor nie jest w stanie...
Witam. Łącze ze sobą IMU na MPU6050 po I2C z stm32f100rb. I2C jest skonfigurowane, funkcja testowa komunikacji zwraca pozytywną wartość. 60 razy na sekundę wywołuję sobie funkcję : [syntax=c]void mpu6050_updateQuaternion() { int16_t ax = 0; int16_t ay = 0; int16_t az = 0; int16_t gx = 0; int16_t gy = 0; int16_t gz = 0; double axg = 0; double ayg = 0;...
Witam. Posiadam sensor ultradźwięków US015, który jest podobny do HCSR04. Chciałbym go obsługiwać przy pomocy mikrokontrolera STM32F429. W internecie znalazłem kawałek kodu, odpowiedzialnego za jego obsługę. Do jego obsługi wykorzystywane są 2 timery - timer7 jest odpowiedzialny za generację impulsu inicjującego pomiar (TRIG) - 10uS, a drugi liczy czas...
Witam Problem dotyczy procesora STM32F373RB, nie mniej jednak raczej odnosi się do każdego podobnego cortex'a. Mianowicie często w "odpowiednich" ubraniach się elektryzuję dość, mocno, dlatego mogę pracować jako generator ESD :P. Procesor steruje diodą laserową, która wisi na mojej płytce zabezpieczającej (100 nF, 1uF, 10k i odwrotnie do zasilania 1N4148)....
Witam Posiadam mikrokontroler STM32F103VET6 oraz czujnik AM2305, z którego próbuję odczytać wilgotność oraz temperaturę. Niestety w żaden sposób nie jestem w stanie odczytać poprawnych danych, albo same jedynki albo same zera lub kosmiczne liczby. Przeglądając dokumentacje okazuje się ze timingi są identyczne z czujnikiem DHT22 wiec wzorowałem się co...
Witam, podłączyłem do mojej płytki 2 moduły nrf odpowiednio odbiornik do SPI1 a nadajnik na SPI2. Niestety mam problem z obsługą tych układów, nie zgłaszają mi one przerwań na pinach który ustawiłem jako wejściowy z pull-up oraz triggerem reagującym na zbocze opadające (sprawdzałem piny zwierając je do masy przerwanie zostało wywołane poprawnie). Funkcje...
Witam, Przesiadam się z STM32F103 na F051, a raczej ćwiczę sobie na obu tych mikrokontrolerach. Napisałem program na F0, w celu poćwiczenia sobie z konfiguracją interfejsu SPI. Zadanie jest takie SPI1 posyła dane, a SPI2 odbiera je zgłaszając odbiór. Interfejsy podłączyłem ze sobą SPI1->MISO z SPI2->MISO SCLK - SCLK MOSI - MOSI Niestety komunikacja...
Pierwszą rzeczą, jaka mi się pozytywnie rzuciła w oczy, to brak konieczności stosowania debouncingu dla przycisku, co widać w ciele funkcji increment_from_interrupt_PA0 (main.c) oraz funkcji EXTI0_IRQHandler (ISR.c). W procedurze obsługi przerwania od przycisku EXTI0_IRQHandler następuje odblokowanie semafora, pozwalając na wykonanie funkcji increment_from_interrupt_PA0....
Witam, Chciałbym zaprezentować wszystkim swoją konstrukcję, która była również tematem mojej pracy inżynierskiej. Jest to LED Cube 4x4x4, który mruga w rytm muzyki. Układ sterowany jest za pomocą mikrokontrolera STM32F4Discovery. Sześcian można podzielić na cztery kolumny oraz cztery ściany. Po spróbkowaniu i obliczeniu transformaty Fouriera, sygnał...
Witam Zaczne moze od tego, ze kody na ktorych sprawdzalem dzialanie USB HS device mode opieraly sie na bibliotekach dostarczanych przez ST. Biblioteki USB sprawdzane byly zarowno na starszych wersjach (z SPL) jak i najnowszych (z HAL) w dwoch roznych IDE i efekt koncowy byl identyczny. Problem dotyczy endpointa out a wlasciwie przesylanych danych z...
Witam, szukam jakiegoś bardzo prostego przykładowego bootloadera, na którym można opracować dostosowany do własnych potrzeb. STM32F1xx Potrzebuję przykładu bootloadera wrzucanego na początek / kasującego zawartość flesha / programujący i przemapowujący wektory przerwań. nie chce wyważać otwartych drzwi. Ze względu na potrzebę przeprogramowania własnym...
Witam Kolegów, Od kilku dni męczę się z pewnym problemem. Na postawie filmu z youtube próbuje wykonać sieć CAN na STM32F3 + TJA1040. Cały problem polega na tym że nie mogę odebrać danych ani w przerwaniu, ani w programie głównym. Układ bez problemu wysyła dane do innego urządzania (drugi STM32F3 + MCP2551). Czy któryś z kolegów mógłby zerknąć na program...
Zacznij od ustawienia poprawnego rozmiaru dla stosu przerwań w skrypcie linkera, albo od wyłączenia używania dwóch stosów w startupie (choć wtedy też trzeba zmienić w skrypcie linkera rozmiar stosu).
Witam, Programuje STM32F407 przy pomocy HAL ( STM32CubeMX ) i Keil uVision 5 . Stworzyłem komunikacje przez UART HAL_UART_RxCpltCallback wykona mi się dopiero po przyjściu 6 znaków Komunikacja UART potrzebna jest mi do implementacji interfejsu MODBUS. W interfejsie MODBUS jak czytam z pdfa "" Ramki mają różną długość. Np. 03 (0x03) Read Holding Registers...
Analiza urządzeni w przestrzeni częstotliwości, jest niezwykle istotne dla zbadania wielu jego parametrów. Poznanie charakterystyki Bodego czy funkcji przejścia układu jest dosyć prostym pomiarem, który zrealizować można z pomocą zaprezentowanego poniżej urządzenia. Jak pokazuje uproszczony schemat po prawej stronie, przez mierzony układ przepuszcza...
Witam. Moje pytanie tyczy się ogólnie programowania mikrokontrolerów. Oto kod dla STM32: Poprawiłem formatowanie kodu. Proszę używać znaczników syntax, zamiast code, wtedy składnia jest kolorowana i łatwiej czytać taki kod.
Jak kod generujesz w CubeMX to daj breakpoint w pliku stm32...xx_it.c w funkcji: [syntax=c]/** * (at)brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) { /* USER CODE BEGIN W1_HardFault_IRQn 0 */ /* USER CODE END W1_HardFault_IRQn 0...
Załączam projekt w Attolic'u. Może ktoś zerknie co może być nie tak. W tym trybie musisz odpalać start konwersji poza przerwaniami w pętli (przerwania są konieczne bo masz nie cykliczny tryb DMA i po końcu wszystkich transmisji DMA się wyłącza). Jeżeli będziesz to robić w przerwaniach to się one "zapętlą" i kod poza przerwaniami nigdy się nie wykona)...
Gdzie tu się zmieniają parametry? Częstotliwość jest stała, amplituda jest stała. Spróbuj zrozumieć jak działa ta funkcja generująca po 512 próbek dla 16 (NoteMax = 16) różnych kanałów dźwiękowych na podstawie sampli w czasie rzeczywistym na STM32F746. Próbkowanie z częstotliwością 48 kHz. [syntax=c]void dds_generator(uint16_t len) { for(uint8_t NoteIndex=0;...
Dziękuję za podpowiedź. Może Ja jakoś źle pytam a może Ty za bardzo traktujesz mnie z góry jako sierotkę, która nic nie wie o Mikroprocesorach. Ja zadałem konkretne pytanie Stan obecny: Płyta STM32F429I-Discovery ... Pytanie: jak wywołać zdarzenie rysowania z pętli głównej programu. A może jest lepszy sposób na narysowanie wykresu np. bez użycia touchgfx?...
Święte słowa. Ja właśnie metodą kopypejstu wyprodukowałem pierwszy swój program na STM32 migający ledami z systickiem jako delay. Weflaszowałem go przez bootloader i odpalił za 1szym razem. Ho ho - powiedziałem sobie. Wszystko ładnie zatrybiło. Zegary się poustawiały, przerwania, wektory. Wszystko. Właśnie dzięki temu że budowałem już z kawałków sprawdzonego...
Witam! Wrzucilem FreeRTOS v6.0.2 z ST Firmware v3.1.2 na te plytke. Uzywam IDE CrossWorks z ich standardowymi bibliotekami na ARMv7M w trybie THUMB little-endian. Kompilator pochodzi z IDE i jest to GCC v4.4.2. Nie dziala mi poprawnie komunikacja z karta inteligentnej. Karta pracuje w trybie T0, wiec Half-Duplex. Skonfigurowalem przerwania do USART3...
Witam, jakiś czas temu założyłem temat dotyczący komunikacji uC z DS1307 za pomocą I2C () jako że nie udało mi się tego zrobić aż do teraz - a potrzebuję RTC na gwałt, postanowiłem uruchomić wewnętrzny RTC. Przeglądałem kilka przykładów (w tym te od ST, oraz przykłady z książki o STM32 od Pana Paprockiego). I niestety nie mogę włączyć oscylatora LSE....
Tak, z tym, że LED = 1 chyba jest trochę czytelniejsze. No i używając ODR nie dziabrasz w dwóch rejestrach/bitach tylko w jednym. No i co jakbyś miał coś ustawione na Porcie ? wtedy już musisz sprawdzać co było wcześniej a przy bb Cie to nie obchodzi. Zgadza się. Z bit-bandingu korzystam oczywiście :) ale tu nie o to chodzi :P PB4 testuje w przerwaniu...
Chciałem się zapytać czy ten przykład od Freddie Chopin'a pasował by do STM32F2. Czy trzeba coś zmieniać prócz rozmiaru pamięci Flash, RAM i tablicy wektorów przerwań ?
Algorytm w mikroprocesorach przeważnie ściśle związany jest z zasobami procka i przenoszenie bez poważnych przeróbek jest mało realne. Na przykład program korzystający z 8 zewnętrznych przerwań na program do procesora który ma tylko 2. Zgadzam się z tym że powinno być więcej książek do ARMów, a zwłaszcza bardziej sensownych niż to co do tej pory powstało.
Mam dość dziwny problem. W procesorze STM32F100RB mam uruchomione 6 timerów. Mają one sterować silnikami krokowymi. Silniki już mają sterowniki, posyła im sie tylko czestotliwość proporcjonalną do prędkości obrotowej i bit kierunku obrotów. Są to dość duże silniki, a całe urządzenie wymaga miękkiego startu i stopu silnikow. Kod który napisałem działa...
Trochę jestem zmęczony i nie pomyślałem. Podpiołem teraz ten moduł rs232 pod starą płytkę z stm32f103 - bez problemu mogę wysyłać dane na pc'ta. Tylko mam problem z odbieraniem danych - nie wiem czy to przez remapowanie pinów coś nie działa czy co. Więc to na pewno zasilanie było przyczyną nie działania układu. Dodano po 30 Miałem nieskonfigurowane...
Witam skompletowałem płytkę której część przedstawiam poniżej, mam problem z wgraniem na nią oprogramowania poprzez złącze swd. Próbowałem wgrać soft poprzez Keila oraz STVP. Próbowałem dwoma programatorami ZL30PRGv2 z kamami oraz poprzez programator umieszczony na płytce stm32f4 Discovery. W żadnym wypadku nie został wykryty procesor. W przypadku programowania...
Witam. Chciałem dzisiaj przedstawić kolejny projekt z cyklu "inni mają - mam i ja" ;) Tym razem jest to miniaturowy sterownik ethernetowy - " uWebServer ". Układ zbudowany został w oparciu o mikrokontroler Cortex-M3 - STM32F103C8T6, do tego kontroler ethernetu "znany i lubiany" - ENC28J60. Całość pracuje pod kontrolą systemu FreeRTOS oraz stosu TCP-IP...
Witam ponownie. Zgadza się taki jest docelowy plan. Wcześniej jednak chciałem sprawdzić czy rzeczywiście program uruchomiony z RAM rozwiąże problem. Przyznam że polubiłem te procesory i jest to pierwsza tego typu niespodzianka. Jeszcze chciałem się upewnić czy BOOT1 nie trzeba dodatkowo podciągać do VDD ? I jeśli można poprosił bym o podpowiedź jak...
Witam Borykam w sumie z dwoma problemami 1.Wysyłając dane przez usb w ostatniej fazie, żeby dane wysłać w rejestrze DOEPCTL ustawiamy bit DOEPCTL 31- EPENA (The application sets this bit to start transmitting data on an endpoint, The core clears this bit before setting any of the following interrupts on this endpoint: – SETUP phase done –...
Witam, posiedziałem odrobinę i większość problemów się rozwiązała. <Pituś Bajtuś> oczywiście masz całkowitą rację. Po adresie początku stosu ma być tablica wyjątków/przerwań a nie instrukcje. Tak się ciekawie złożyło że kod się uruchamiał (ale pewnie tylko pod debuggerem ) czyli głupi ma zawsze szczęście jeśli nawet jest ono złudne ;) dodałem...
Cześć. Mam pytanie dotyczące stm32F100RB Posiadam program który generuje przerwania po odbiorze sygnałów z zewnetrzengo enkodera. Moje pytanie brzmi następująco: Czy można ustawić poziom napięcia ( trigger) po którym wystąpi przerwanie? np 2V Chodzi o to że mam dość długi kabel na którym występują jakieś zakłucenia i chciałbym wiedziec czy istnieje...
Dziekuje za uwagi BlueDraco. Ponizej wyjasnienia. 1. Moje funkcje blue_ON() i blue_OFF() wlaczaja i wylaczaja LED na plytce STM32VL_Discovery. Nie sa zwiazane w zaden sposob z LEDami podlaczonymi do ME3000. Nie ma w nich oczekiwan ani Delay'ow. 2. Jesli chodzi o guzik, to rzeczywiscie, zdarza sie ze zamiast raz przyjmie dwa razy (zadrgaja zestyki),...
Witam. Mam dziwny problem. Raz na 10-20 wyników procesor przesyła do PC jakiś śmieć. Endpointy 2x bulk tj jeden IN drugi OUT. Zupełnie jakby CRC nie działało. Sprawdzałem też pod oscyloskopem i raz na 10 przesłanych komend, jedna przychodzi jako śmieć. Mam go ustawionego tak, że komputer wysyła okres generowanego sygnału przez usb a procesor odbiera...
Witam, Jestem początkującym użytkownikiem mikrokontrolera STM32F4 i proszę o poradę. Chciałbym zrealizować modulator SIGMA-DELTA do sterowania 3- fazowym falownikiem napięcia z obwodem rezonansowym z wykorzystaniem mikrokontrolera STM32F4. Z implementacją samego algorytmu nie mam problemu, jednakże napotkałem poważną trudność na etapie generacji sygnałów...
Co to niby ma być? USART1->BRR = (24+(0.9216/2))/0.9216; Zmieniłem na: Popatrz, jak zaprogramowałeś DMA - po 8 transferów, miały być 4 po 16 bitów z ADC do pamięci i 8 po 8 bitów z pamięci do USART. Poprawione, usunąłem również priorytety: Założę się na ślepo (a STM32F1 nie znam), że to nie jest potrzebne: ADC1->CR2 |= ADC_CR2_EXTTRIG; No więc sprawa...