Witam. To znowu ja z kolejnym urządzeniem. Jest to 1-kanałowy inteligentny przełącznik ściemniacza Avatto DMS16-W1 z CBU rozmawiający z MCU Puya PY32F002A (TSSOP-20). https://obrazki.elektroda.pl/5535706100_... https://obrazki.elektroda.pl/3162350000_... https://obrazki.elektroda.pl/6555860800_... https://obrazki.elektroda.pl/4466273200_...
Ja rozumiem ze mozna szarpać się z darmowymi toolchainami, ale zeby z keilem?... Postawienie darmowego toolchaina trwa minute :)
(at)tmf - dziękuję za miłe słowa :) Właśnie takie było założenie co do grupy "docelowej". Myślę, że jeszcze długo ATmegi i ATtiny będą punktem startowym dla hobbystów ze względu na nawał informacji w Internecie i mocno zakorzeniony pogląd jakoby wszystko inne było drogie/trudne itd. W sumie chciałem, żeby w poradniku było trochę więcej nawiązań do...
Witam wszystkich serdecznie! Potrzebuję pomocy z pewnym zadaniem z systemów wbudowanych, 4 rok studiów. Programuję w języku C środowisku CooCox CoIDE procesor STM32F103ZET6 użyty w module HY-RedBull_V3 posiadający 3,5-calowy ekran dotykowy TFT LCD HY35A (kontroler LCD SSD1963, kontroler ekranu dotykowego ADS7843 lub XPT2046), który ma wykonać poniższe...
Witam !!! Uruchamiam projekt https://hackaday.io/project/158256-hover... https://github.com/isabellesimova/Hoverb... Projekt jest napisany na STM 32 W swojej desce mam GD32. Po uruchomieniu błąd systemu zgłasza watchdog /* IWDG init function */ static void MX_IWDG_Init(void) { __HAL_RCC_WWDG_CLK_ENABLE(); hiwdg.Instance = IWDG; hiwdg.Init.Prescaler...
HCLK = 24MHz , Cube w funkcji void SystemClock_Config(void) ustawia SysTick w taki sposób: [syntax=c] /**Configure the Systick interrupt time */ HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()... /**Configure the Systick */ HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKS... /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn,...
Super, w życiu bym na to nie wpadł. Przyzwyczajenie z windows z tym cpp :) Co do SystemCoreClock - działa (pewnie dlatego że mam domyślne taktowanie i mieści się w zakresie argumentu) Dodano po 42 W każdym bądź razie problem rozwiązany ;)
PM0056 Programming manual strona 151 The RELOAD value is calculated according to its use: ● To generate a multi-shot timer with a period of N processor clock cycles, use a RELOAD value of N-1. For example, if the SysTick interrupt is required every 100 clock pulses, set RELOAD to 99. ● To deliver a single SysTick interrupt after a delay...
Kolego Piotrus_999 po imporcie projektu do eclipse wygenerowanego z cube widzę że kod jest napisany w hal. Nie widzę opcji w cube aby nie generował w hal jak i opcji USE_HAL_DRIVERw eclipse . Oto fragment kodu ustawiającego zegary: [syntax=c]void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; /**Initializes...
No właśnie, żeby całkowicie wyczerpać temat i zakończyć go chciałem zapytać jeszcze o dwie rzeczy a mianowicie: o ten SysTick timer i o tryb porównania w liczniku. 1.Może najpierw ten SysTick. Wiem że w ten sposób: [syntax=c] SysTick_Config(FREQUENCY/1000); [/syntax] będę miał przerwanie co 1 milisekundę. Wiem także że przerwanie mogę zawrzeć w: [syntax=c]...
Hej, dzięki za odpowiedź - nie działało, bo wywaliłem pliki z USARTem, a w jednym miejscu użyte było printf, co co ciekawe nie wywalało się w czasie kompilacji, ale po wywaleniu tego fragmentu jestem w stanie uruchomić debug. (Faktycznie nie popisałem się z tym .elf, noob ze mnie) Teraz jednak mam problem - SPI1->SR po kilku (około 20 - 40) odczytach...
SysTick_Config() to przykład całkowicie bzdurnej funkcji, która "za Twoimi plecami" ustawia na sztywno że SysTick będzie taktowany z zegara rdzenia podzielonego przez 8. Tak wiec dla Twojego mikrokontrolera taktowanego zegarem 48MHz, SysTick był taktowany zegarem 6MHz. A powiedz mi dlaczego zewn a nie zegar procesora? [syntax=c]__STATIC_INLINE uint32_t...
Witam, Bawię się STM32 już od jakiegoś czasu ale właściwie nigdy nie potrzebowałem jakiś super prędkości. Teraz chciałem napisać prostą funkcję do sterowania WS2812b i natknąłem się na dziwny, moim zdaniem, problem. Pomimo, że Timery działają szybko to zwykłe przełączanie pinu (funkcja HAL_GPIO_WritePin) działa niemiłosiernie długo. Najprostszy program:...
Witam, mam krótkie pytanko. Od jakiegoś czasu korzystam z bibliotek HAL i ostatnio stwierdziłem, fajnie by było posprzątać w main.c. HAL po wygenerowaniu kodu podpina w mainie wszystkie funkcje konfiguracyjne np. [syntax=c] void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; /**Configure the main...
Bardzo dziękuje za zainteresowanie. Jeśli chodzi o wartość ARR to się pomyliłam użyte wartości to : ARR - 99 PSC - 99 CKD - 0. Konfiguracja zegara: Funkcja inicjalizacji timera : Funkcja do sterowania: [syntax=c]void pwm_tim3_set(uint16_t duty) { if (duty < 1) { pwm_duty = 0; TIM3->CCR4 = 0; } else if (duty > 99) { pwm_duty = 99; TIM3->CCR4...
Tak to jest jak się używa bibliotek, które "wszystko ułatwiają"... [syntax=C]/** * (at)brief Initialize and start the SysTick counter and its interrupt. * * (at)param ticks number of ticks between two interrupts * (at)return 1 = failed, 0 = successful * * Initialise the system tick timer and its interrupt and start the * system tick timer / counter...
Witam, Próbuje skomunikować ze sobą STM32F4 z Arduino UNO po UARTcie. Skonfigurowałem UART1 i płytka komunikowała się bez problemu z Arduino. Lecz do mojego projektu potrzebna jest komunikacja przez UART2 (piny PA2-TX i PA3-RX), po skonfigurowaniu UART2 i podłączeniu do do Arduino nie mogę odczytać żadnych danych. Jeżeli podłącze UART1 z UART2 na płytce...
Witam, mam następujący problem: napisałem dwa proste programy, pierwszy testuje przerwanie od timera a drugi testuje przerwanie SysTick. Problem polega na tym że oba nie działają. W pierwszym przypadku program zamiast skoczyć do funkcji obsługi przerwania, wpada w nieskończoną pętlę.(w pliku startup_LPC11xx.s w linijce 196), a w drugim programie przerwanie...
Witam od pewnego czasu probuje uruchomic żyroskop l3gd20 na płytce Discovery stm32f0072B-disco , niewiem gdzie robię błąd . [syntax=c] SPI_HandleTypeDef hspi2; void SystemClock_Config(void); void Error_Handler(void); static void MX_GPIO_Init(void); static void MX_SPI2_Init(void); uint8_t data; uint8_t setting; int main(void) { HAL_Init(); SystemClock_Config();...
AVE... LChucki ma ten problem, że on zna się na tych swoich ARMach i jest zaślepiony swoją miłością do nich. Wsadzałby je wszędzie, nawet tam, gdzie byle ATTiny czy PIC10/12F da radę. Dzielnikami i buforami rozwiązuje problemy, których by nie miał używając ośmiobitowca. A co do pisania prostych funkcji, to pozwolę sobie posłużyć się przykładem programu,...
Cześć, mam skonfigurowanego i działającego FreeRTOSa na STM32L452, priorytety w FreeRTOSConfig.h są skonfigurowane następująco: [syntax=c] #define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIO... 5 #define configKERNEL_INTERRUPT_PRIORITY 255 #define configMAX_SYSCALL_INTERRUPT_PRIORITY 191 /* equivalent...
Nie wiem czy mogę mieć prośbę, ale czy możecie mi wskazać w którym miejscu i w jakiej dokumentacji jest opisane ile zajmuje interrupt latency?
oto kod programu [syntax=c]/* Includes */ #include <stddef.h> #include "stm32f0xx_rcc.h" #include "stm32f0xx_gpio.h" #include "lcd_hd44780_lib.h" /* Private typedef */ /* Private define */ /* STM32F0_DISCOVERY board definitions */ #define LED_PORT GPIOC #define LED1 GPIO_Pin_9 #define LED2 GPIO_Pin_8 #define KEY_PORT GPIOA #define KEY GPIO_Pin_0...
Witam, Uruchomiłem komunikacje po porcie szeregowym za pomocą USART1. Wszystko niby działa, ale przy deklaracji BaudRate w programie np 57600, na terminalu (program REALTERM) komunikacja działa przy ustawieniu Baud: 115200. Ta sama sytuacja ma miejsce przy ustawieniach innych prędkości. Prędkość na terminalu musi być 2x większa niż ustawiona w programie...
Witam, otóż mam problem, a mianowicie chciałbym obsłużyć przerwanie z pinu ALRT z przetwornika ADS1115 w celu wyeliminowania opóźnienia które teraz stosuje przy odczycie każdego z kanału (delay(20)) dokumentacja: https://cdn-shop.adafruit.com/datasheets... z góry dziękuję za pomoc mój dotychczasowy kod: [syntax=c] /* Includes ----------------------------------------...
Wiesz co ja dopiero zaczynam z programowaniem stm ale jedna sprawa rzuciła mnie się w oczy. twoja funkcja jest prawie funkcją z biblioteki której definicja i rozwinięcie znajduje się w pliku core_cm4.h [syntax=c] __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) { if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible...
Witam. Dla ćwiczebności napisałem sobie funkcję zwracającą ilość cykli zegara w celu pomiaru długości wykonywania funkcji itp. Aby to osiągnąć odczytuję "PENDSTSET" oraz stan licznika SysTick. Jednak pomiędzy tymi dwoma odczytami upływa trochę czasu i wartość licznika jestem w stanie skorygować znając czas jaki upłynął miedzy tymi dwoma instrukcjami...
Witam. Wygenerowałem kod w STM32CubeIDE. Problem polega na tym, że gdy debuguje go, to mogę swobodnie przechodzić krok po kroku do kolejnych instrukcji programu. Po wyłączeniu debugowania w celu pozwolenia mikrokontrolerowi działać swobodnie, ten nie chce działać. Znalazłem tako oto radę dotyczącą SysTicka: "You have to be very carefull when using HAL_Delay(),...
Gdy utworzysz pusty project dla F0Discovery w TrueStudio najnowszym to on automatycznie wygeneruje pierwszy program do mrugania LEDami. O taki: [syntax=c]#include <stddef.h> #include "stm32f0xx_rcc.h" #include "stm32f0xx_gpio.h" /* Private typedef */ /* Private define */ /* STM32F0_DISCOVERY board definitions */ #define LED_PORT GPIOC #define...
Witam, chciałby podglądać tablice bool oraz zmienna bool, jednak Stm Studio nie widzi tych zmiennych. Jeśli zmieniam typ na int zmienne stają się widoczne. W czym może istnieć problem? Z góry dzięki. [syntax=c]/* USER CODE BEGIN 0 */ bool mySwitches[16]; int mySwitches2[16]; int zmienna_int; bool zmienna_bool ; /* USER CODE END 0 */[/syntax] Cały plik...
Witam. Na początku muszę zaznaczyć, że jestem raczej początkującym w temacie mikrokontrolerów i ogólnie elektroniki. Kupiłem sobie stm32f0 discovery oraz termometr ds18b20, podłączyłem wszystko jak trzeba - pin 1-wire do pc7, oraz piny zasilania odpowiednio do 3v i GND na płytce. Korzystam z IAR Embedded Workbench EWARM. Termometr działa, bo procedura...
Mam problem z komunikacją po magistrali CAN. Próbuję uruchomić prosty program do odbioru danych po CANie i niestety nie działa. Uruchomiłem parę przykładów znalezionych w internecie i nic. Program generuję za pomocą SMT32CubeMx i korzystam z biblioteki HAL - bo tak chyba najprościej. Korzystam z gotowej płytki STM32F103C8T6 do której podłączyłem MCP2151...
Dzień dobry, Napisałem sobie program (korzystam z: STM32CubeMX oraz Atolli TrueStudio, mam BluePill STM32F103C8, port szeregowy podłączony za pomocą UART2 oraz konwertera FT232RL (ustawionego na 3,3V - bo w dokumentacji wyczytałem że te wejścia nie tolerują 5V) do portu USB, gdzie łączę się za pomocą BrayTerminal). Na BluePill mam wbudowaną jedną diodę,...
Niestety nie pomogło EDIT: Spróbowałem wygenerować za pomocą STM32CubeMX i napisać w HAL'u kod który by wysyłał cyklicznie dowolną ramkę CAN. Oto mój kod napisany w AC6 System Workbench: http://obrazki.elektroda.pl/9453638400_1... Przy okazji: 1. Jak wgrać program przez JTAG'a w AC6? 2. Da się dodać bibliotekę HAL do COIDE CooCox'a?...
Witam. Rozpocząłem przygodę z programowaniem układów STM32F4. Nabyłem płytkę XNUCLEO-F401RE (kompatybilną z NUCLEO-F401RE) oraz skorzystałem z kursu który znajduje się pod tym linkiem [url=http://forbot.pl/blog/artykuly/prog...
Funkcja SystemInit jest wywoływana w obu przypadkach na początku main. Podałem ją w kodzie. Może tutaj faktycznie jest problem. Pliki startup.s Keila i Cube się różnią. Zauważyłem, że funkcja SystemInit jest wywołana w pliku dla Cube. Niestety te pliki to dla mnie czarna magia. Czytałem o nim artykuł waszego kolegi z elektrody. https://www.elektroda.pl/rtvforum/topic3...
Witam! Mam problem przy generowaniu sygnału komplementarnego na timerze 1 w mikrokontrolerze STM32F427ZIT6 (płytka STM32F429I-DISCO) przy pomocy bibliotek HAL. Udało mi się wygenerować sygnał komplementarny ale nie udaje mi się skonfigurować deadtime-ów. [syntax=c] /** ****************************************... *...
Udało się rozwiązać problem, kod poniżej. Rzeczywiście wystarczyło się dostosować do tego, że USB ISP zakłada że jest wywoływane po resecie. Nie brałem tego co tam jest napisane wcześniej na powożenia, bo w poprzednim projekcie problem nie wystąpił. Nie wiem do końca która linijka jest kluczowa, na pewno nie wszystkie mają znaczenie. Delay prawdopodobnie...
zujnik jest podłączony bez rezystorów wzmacniających, ponieważ odczytałem ze schematu, że nie są potrzebne(próbowałem także z rezystorami 4k7). Przy sprawdzeniu bufora z danymi w programie Stm Studio, nic się nie zmienia a flaga busy jest ustawiona jedynie przy odłączeniu kabla SDA od czujnika. Proszę o pomoc w znalezieniu przyczyny braku odczytu i...
Witam, próbuję uruchomić wyświetlacz monochromatyczny ze sterownikiem PCD8544 obsługiwanym za pomocą SPI. Wygenerowałem kod za pomocą CubeMx, utworzył mi strukturę "SPI_HandleTypeDef hspi2; " W pliku nagłówkowym biblioteki wyświetlacza chcę wysłać dane za pomocą : " HAL_SPI_Transmit( &hspi2, byte, LCD_BUFFER_SIZE, 100); " co powoduję błąd : 'hspi2'...
Witam Mam problem z płytką portem usb w trybie cdc (inne też nie działają) w stm32 z bibliotekami HAL. Próbowałem go uruchomić (używam płytki stm32f429i-disco) ale komputer wogóle nie widzi że został podłączony. main.c [syntax=c] /** ****************************************... * File Name : main.c * Description : Main...
Sam main.c raczej nic nie da ale proszę. /** ****************************************... * File Name : main.c * Description : Main program body ****************************************... * This notice applies to any and all portions of this file * that are not between comment...
Droga, którą obrałem to wpierw HAL, ze względu na bardzo przyjazną graficzną możliwość konfiguracji, a potem wraz z przeglądaniem dokumentacji powolne przechodzenie na rejestry. Po prostu po kolei np. obsługę portów (wejścia/ wyjścia) stosuję już bezpośrednio na rejestrach. I tak krok po korku ;) Co do wcześniej opisanego problemu, to moduł BT sterowany...
Bawię się na KA-NUCLEO F11. sprintf oraz funkcja uart_read_line(&huart2, buffer, 1024) wywołuje wyjątek HardFault. Znalazłem podobny temat, związany za liczbami zmiennoprzecinkowymi ale tam program nie "zawieszał się". Przykłady kodów zaczerpnąłem z https://stm32.eu/2017/11/28/3-stm32cube-... Fragment kodu [syntax=c] char buffer[1024];...
Ok kod już wklejam - wczoraj na szybko przed spaniem posta piałem. Konfiguracja pinu od przerwania oraz samego przerwania: GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_... ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode...
Cześć, Próbuję się skomunikować pomiędzy RPi i stm32f4. Na RPi korzystam z biblioteki bcm2835 a na stm32f4 z HAL. Być może nie do końca rozumiem zasadę działania SPI i sta te problemy. RPi jest masterem i co 1000ms wysyła dane w postaci tablicy o rozmiarze równym 4 elementy. Te dane są w poprawny sposób odbierane na stm32f4. Na stm32f4 korzystam z DMA,...
Witam wszystkich. Uzywam Eclipse + OpenOCD (0.9.0) + GCC. Do tej pory używałem STM32F103 (Cortex-M3), a teraz przesiadłem się na STM32F373 (Cortex-M4). Wziąłem ze starego programu skrypt linkera, startup, vectors.c i posklejałem do kupy odpowiednio je modyfikując. Program generalnie odpala się, mogę sterować GPIO. Następnie spróbowałem uruchomić SysTicka....
Hmm jak na procka za 3,4zł nie jest źle ;) Bardzo cieniutko Panie... https://obrazki.elektroda.pl/6576032700_... https://obrazki.elektroda.pl/3171327000_... [syntax=c] ARM®32-bit Cortex®-M3 CPU Core 72 MHz maximum frequency,1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access Single-cycle...
Witam, modyfikuję bibliotekę pod klawiaturę matrycową 4x4. W funkcji "Keypad4x4_ChangeColomn" dla określonego warunku należy zmieniać ustawienia pinów z PushPull na Oped Drain. Wszystko funkcjonuje dobrze : dla pierwszego warunku "if(colNum_0_to_3==0)" bity w rejestrze zostają ustawione poprawnie, jednak dla kolejnych warunków pozostają one bez zmian,...
Niestety nie posiadam oscyloskopu. A tutaj kod: lib_ina219.c [syntax=c] #include "lib_ina219.h" extern I2C_HandleTypeDef hi2c1 ; uint16_t ina219_powerDivider_mW; uint16_t ina219_currentDivider_mA; uint16_t ina219_powerDivider_mW; /***************************************... /*! (at)brief Sends a single command byte over...
systick dioda systick handler stm32 systick
akumulatory formowanie moduł agregat termostat powietrza
milwaukee dioda obudowa powerbank aliexpres
UL1490 zamiennik – odpowiedniki TBA790V, UL1496, UL1497, UL1498, nowoczesne alternatywy Chińska piła tarczowa do betonu – samoczynne wyłączanie, przyczyny, Makita, Einhell, tarcza diamentowa