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...
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...
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....
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, 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 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....
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...
Kodu więcej - ale co się bardziej opłaca ;] Zmarnować kilkadziesiąt cykli co kilkadziesiąt ms, czy kilkanaście cykli co 100us (dla 115200)? Kazde wejscie w ISRa to 12 cykli. Jesli 2 UARTy ładują znak co 100us, to srednio co 50us masz przerwanie. W kazdej sekundzie na samo wejscie do ISRów idzie 240k cykli... + (szacuję) 10 cykli kodu /co znak/ *20k...
Hej. Czy moglibyście się podzielić jakimś sprawdzonym kodem do obsługi I2C (pooling, przerwania, etc) na STM32, tylko na nowsze rdzenie niż F103 - np. F03x, F3xx, F4xx, etc. Z góry dziękuję.
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...
Od kilku dni zabawiam się kamerką OV7670, próbuję pobrać z niej obraz w formacie RGB565 i o mało ambitnej rozdzielczości QCIF(bo taki zmieści się w całości w RAM). Program, który napisałem ma za zadanie w przerwaniu pobrać obraz do pamięci, zatrzymać przerwanie i zapisać zawartość do pliku bmp. Oto mój kod : Otw. pliku 0 Init OV7670 1 System Clock 120...
Rozumiem, że TimingDelay_Decrement() wywołujesz w przerwaniu od SysTick?
A ja wam powiem, że z mojego punktu widzenia, tj osoby, która jest nowa w temacie stm, taki kurs byłby dobry po pewnymi warunkami. W temacie AVR spędziłem troche czasu,chociaż nie jestem specjalistą, ani nawet zaawansowanym graczem. Radzę sobie na własne potrzeby, głównie wykorzystując je do sterowania. Tam zaczynałem od kursów w internecie, książki...
Witam wszystkich, Drugi dzień już walczę z konfiguracją tego ADC. Chcę, żeby pomiar był wyzwalany przez przerwanie od kanału 1 TIM1. Kody: Dodano po 2 Mogę napisać coś takieg [syntax=c]void TIM1_CC_IRQHandler(void) { if (TIM_GetITStatus(TIM1, TIM_IT_CC1) != RESET) { //CC1 - osiagniecie wartosci TIM_ClearITPendingBit(TIM1, TIM_IT_CC1); GPIO_ToggleBits(GPIOD,...
Próbowałem już w opisany przez Ciebie sposób, zero reakcji, żeby program wyszedł z pętli while pomagało tylko zwarcie rezystorem 1k do GND, czyli ręcznie wymuszony pull low. Datasheet DS18x20 znam już na pamięć :( funkcja opóźniająca: [syntax=c] volatile int delayFlag; void delayTimerConfig(){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TI... ENABLE); TIM_TimeBaseInitTypeDef...
Witam Jestem początkującym w temacie FreeRTOS i mam parę problemów ze zrozumieniem działania tego systemu. Jeśli mam jakąś obsługę przerwania i w czasie jego wystąpienia ustawiam semafor na który czeka jakieś zadanie o niskim priorytecie (albo nie najwyższym) to po wyjściu z tego przerwania to zadanie będzie niezwłocznie wykonywane czy system poczeka...
A jak to możliwe, że echo idzie równocześnie z przesyłanymi danymi? Pokaż kompletny kod, który wysyła i odbiera dane. Jednak tak ten RN-171 działa, że w czasie rzeczywistym nadaje to samo co otrzymuje (można to wyłączyć). Tak czy owak problem tkwił w odbieraniu danych, użyłem: if(USART_GetITStatus(UART5, USART_IT_RXNE) != RESET) a powinienem:...
Po 5 latach chyba kolega sobie poradził:) Temat do zamknięcia. PS.Do sterowania nadajnikiem MAX3485 w STM32 kluczem jest poszukanie w RMie informacji o fladze TC a następnie programowe sterowanie odpowiedniego GPIO w przerwaniu od UARTu.
Cześć. Możecie mi jakoś w przystępny sposób wytłumaczyć różnice pomiędzy przerwaniami a zderzeniami w np. STM32F103 Czym to się różni w praktyce?
Witam, jak przerobić poniższą funkcję tak aby po przyciśnięciu przycisku włączyło się miganie diody a po ponownym przyciśnięciu dioda została zgaszona? :) void EXTI4_15_IRQHandler() { if (EXTI_GetITStatus(EXTI_Line13) != RESET) { if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == 0 ) GPIO_WriteBit(GPIOA, GPIO_Pin_5, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOA,...
Problem z interpretacją danych. Już pisałem o tym problemie ale dalej nie wiem o co chodzi.. Otóż gdy w real term odbieram to mam takie informacje: Natomiast w przerwaniu w STM32 w buforze typu char mam takie dane: Ni jak ma się to w buforze do tego co w real term a powinno być to samo...
witam, przeniosłem obsługę przerwana ze standardowego miejsca czyli pliku stm32f2xx_it.c do pliku z własnymi procedurami, w tym także z obsługą TIM3_IRQHandler. No i program w chwili przejścia do jego wykonania się wykrzacza? Kiedy przywracam stan faktyczny problem znika jednak wolałbym abym miał ją tam gdzie chce. Wygląda na to że podczas linkowania...
Witam, Chciałem sprawdzić STM32Lxx pod kątem energooszczędności. Ściągnąłem NUCLEO-L053R8 i AtollicStudio. Po założeniu nowego projektu wymieniłem bibliotekę STM32L0xx_HAL_Driver na najnowszą wersje. Zmieniłem zegar dla procesora z MSI na HSI. Program miga diodą. Co kilka uruchomień dostaję HardFault na samym starcie aplikacji przy konfigurowaniu zegarów....
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...
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...
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...
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! 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 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...
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...
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...
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...
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 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, 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. 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...
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 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...
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...
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...
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,...
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...
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...
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, 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,...
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...
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...
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+...
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...
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,...
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...
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 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 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,...
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ść,...
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, 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)....
Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka z Arduino. Temat oczywiście nie zastąpi w pełni czytania noty...
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...
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. 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...
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...
W jaki sposób mogę uzyskać najlepszy transfer z STM'a i ew. jak szybki by on był? :) 12 Mbit/s w teorii prosto: wysyłać co 1ms 1216 bajtów przez endpoint skonfigurowany jako bulk. W stm32 zrób to sobie na DMA, jak dane się wyślą to dostaniesz przerwanie.
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ń...
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.
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?
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. 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...
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ł...
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 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, 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...
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...