Aby móc zmieniać remapowanie musisz włączyć zegar dla AFIO. [syntax=C]RCC_APB2PeriphClockCmd(RCC_APB... ENABLE);[/syntax]
A zegar RCC dla I2C włączasz? BTW to w erracie coś tam o I2C pisali - sprawdzałeś, czy nie odnosi się to do Twojej sytuacji? 4\/3!!
w takim razie jak poprawnie włączę kanał 1 jako pwm a kanał 3 jako ic?
No to skoro nic tam nie ma, to znaczy że nie następuje input capture. 4\/3!!
Ja rozumiem ze mozna szarpać się z darmowymi toolchainami, ale zeby z keilem?... Postawienie darmowego toolchaina trwa minute :)
Najprościej podpiąć oscyloskop i zobaczyć co się naprawdę dzieje z sygnałem po podpięciu Timera albo od razu wtórnik na tranzystorze.
To już nie rozumiem, co jest źle. 1) Konfiguracja timera 2) Nie można podejrzeć zmiennej podczas debug
Zrozumiałe że nie rozumiesz bo nie napisałem wszystkiego :) Zasilam enkoder z 3.3V, nie tak jak rekomendują między 4,5-5,5V. Nie chciałem aby sygnał z enkodera był większy od V zasilania mikrokontrolera, żeby nic nie upalić. Czytałem w Data Sheecie że jest coś o 'five-volt tolerant' port/pin ale nie mogłem zrozumieć dokładnie o co chodzi. Działał mi...
W timerach STM32 jest coś takiego jak PWM Input Mode który służy do sprzętowego pomiaru wypełnienia i okresu PWM - szczegóły są w np w Reference manual. O ile jednak dobrze pamiętam to jednym timerem sprzętowo można mierzyć tylko jeden sygnał PWM. Na jednym timierze 4 kanały pewnie trzeba będzie mierzyć programowo z wykorzystaniem Input Capture Mode
Wszystkie funkcje arduino-embedded powinny działać. Czyli obsługa i2c, 1wire, spi, uart, operacje na pinach gpio. Dlaczego? Bo chociaż czasem przez różne rejestry to w zasadzie robią to samo więc można wysokopoziomową funkcją "przykryć" różnice sprzętowe. Proste rzeczy jak PWM, input capture itp. też powinno się dać, natomiast liczników jest całe mnóstwo...
No ale czemu nie przejrzysz DOKŁADNIE manuala do tego układu? Przecież w nim są szczegółowo opisane tryby pracy takie jak input capture, czy PWM capture (czy może input PWM, nie pamiętam jak on się nazywa) - w tych trybach właśnie masz zmierzony czas impulsu. Zamiast brnąć na ślepo po prostu przejrzyj reference manual, rozdział o timerach i wszystko...
Funkcja inicjalizująca wywołuje kilka innych, więc żeby po trochu nie wstawiać kodu, oto cały plik RC5_IR_Emul_Receiver.c : [syntax=c]/** ****************************************... * (at)file STM32F10x_RC5_Receiver_Lib/src/RC5_IR_Em... * (at)author MCD Application Team * (at)version V1.0.0 * (at)date 03/16/2010...
Żeby nie zakładać oddzielnego wątku - mam problem z włączeniem przerwania na TIM4. Wszystko niby skonfigurowane - GPIOB.9 jako wyłapanie przerwania: /* TIM 4 intetrupt pin PB.7 channel 4 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &GPIO_InitStructure); RCC_APB1 dla TIM4...
E tam, nie jest wcale tak źle. Przy timerach akurat nie ma problemu, bo w manualu do każdego "typu" konfiguracji (licznik, PWM, input capture, ...) jest opis jak krok po kroku to skonfigurować. Zresztą - wystarczy napisać swoją bibliotekę, wtedy przynajmniej działa sensownie (rozmiar i prędkość) i wiadomo jak tego używać oraz co dokładnie robi. W przykładach...
W którym miejscu w dokumencie który wcześniej podałem znajdę na którym porcie w mikrokontrolerze jest odpowiedni kanał ADC? W RM0041? W żadnym. Szukaj w datasheet konkretnego układu.
Ja troszkę odsunę się od odpowiedzi. I powiem tak: Jeśli poznasz dobrze jedną architekturę w raz z całą otoczką, tzn sposobami debugowania, posługiwania się narzędziami. Nauczysz się dobrze kodzić i nie mam tu na myśli napisania czegoś co działa, bo to dopiero 20% sukcesu. Bo niezawodność czytelność kodu i łatwość modyfikowania jest również ważna i...
gaskoin -> No właśnie o to pytałem od początku. Widocznie źle zadałem pytanie :) Dokładnie tak samo (albo bardzo analogicznie) robiłem w xmega. STM32 to dla mnie nowość, dopiero zaczynam a właściwie to tylko pobawiłem się troszkę w wolnej chwili. Wgłębiał się będę w najbliższym czasie przy okazji pracy dyplomowej. Czyli skoro już się rozumiemy o co...
Witam, chciałbym zczytać dane z enkoderu, mam jeden podłączony do PB6 i PB7,a drugi do PB3 i PA15 i posiadam STM32f103RE Mam 16 impulsów na obrót i nie moge nic zczytać do zmiennych. Bardzo proszę o pomoc bo siedzę juz 4 dni i nic nie działa Oto mój kod: [syntax=c] void Encoder_Config(void) { //Konfiguracja timerow //1. GPIO_InitTypeDef GPIO_InitStructure;...
Przerwanie od input capture wskazuje, że stan licznika został zapamiętany w odpowiednim rejestrze... Jeśli dodatkowo można IC sprzęgnąć z DMA to problem akwizycji danych jest rozwiązany - DMA może wtedy wywoływać przerwanie po zebraniu dwóch (lub więcej) wartości - początku i końca impulsu. W niektórych co sprytniejszych ARMach (np STM32) można tak...
No to kiepsko. Przeczytałem sobie kilka razy rozdział o GPIO aby znaleźć informacje maksymalnej szybkości odczytu "danych wejściowych". Wiem, że maksymalna prędkość 50 MHz w przypadku pracy jako wyjście jest nieosiągalna przez proste machanie pinami. W przypadku wejścia czytam, że: "The Input Data register (GPIOx_IDR) captures the data present on the...
W przerwaniu mam zamiar uruchomić timer1, w którym wykorzystuje Input Capture by zatrzasnąć kolejne zbocze opadające Timer powinien sprawdzić stan pinu za jakiś czas np 30ms. Powinieneś to jeszcze połączyć z wykrywaniem zarówno zbocza opadającego jak i narastającego. Zależnie od tego, które zbocze wywołało przerwanie zwiększasz lub zmniejszasz zmienną...
W funkcji System_conf w której narazie jeszcze korzystam z bibliotek od ST :-/ [syntax=c][/syntax] void System_conf(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_Configuration(); //System Clocks Configuration NVIC_Configuration(); //NVIC Configuration RCC_AHBPeriphClockCmd ( RCC_AHBPeriph_DMA1 ,ENABLE);...
AT90PWMx - Produkt w fazie zakończenia produkcji. Nie ma sensu w to inwestować. ATTiny26 - zupełnie bez sensu jeśli idzie o falowniki. Praktycznie żadnego zysku względem mega88. ATXMEGAxx - od biedy może być do nauki. Ale pamiętaj o upierdliwości ADC w trybie single ended (offset), braku synchronizacji pracy liczników z jedną podstawą czasu, pomiar...
(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...
NA STM32F można też w tym celu użyć trybu timera przwidzianego dokładnie dla takiego zastosowania - "PWM input mode", z automatycznym zerowaniem timera po wykryciu jednego ze zboczy, co zapewne jest lepszym rozwiązaniem w tym konkretnym przypadku. W czym to będzie lepsze, od zaproponowanego przeze mnie capture mode z automatycznym zerowaniem po wykryciu...
Od tego zaczałem - od czytania Manuala, ale nic nie rozumiem. Nie mam dużego doświadczenia. Coś tam kombinuję, ale nie działa jak trzeba. Żeby zrozumieć instrukcję, trzeba znać używane tam pojęcia. Czy timer ma pracować w trybie capture? Byłbym wdzięczny za podpowiedź które rejestry ustawić. Wybrałem TIM4 i wejścia GPIO dla kanałów B6, B7, B8, B9, które...
A jakby taki pomysł wypalił: Ustawić Timer jako Input Capture reagującego na obydwa zbocza sygnału. DMA skonfigurować na żądania od Timer i jako Circular buffer, Periph -> Memory. Analizować w wątku bufor kołowy z DMA, ślędząc licznik transferu i ładować do innego bufora wykryte stany 1 i 0 na podstawie róźnicy czasu obydwu zbocz. Z innego wątku ściągać...
Witam Pracuje obecnie nad projektem odbiornika sygnały DMX512. Sprawa wygląda następująco: -Sygnał danych czytany jest z urządzenia zwane Kwamatik USB2DMX, obsługiwane przez program Q Light Controller. „Po drodze” do uC trafia jeszcze na driver RS485 a potem na PIN RX UART1 oraz PIN PB9 skonfigurowanego jako wejścia dla Timera 11 pracującego...
Witam, próbuje znaleźć dobry sposób na pomiar amplitudy impulsu PWM. Zakres zmian wypełnienia 5 % do 95 %. Czestotliwosc sygnalu sie nie zmienia i wynosi 1 KHz. Mój pomysł polega na tym, że po wychwyceniu zbocza narastajacego odpalam ( w przerwaniu od input capture) timer ktory co 10 us ( 5 % z 1 ms to 50 us) trigeruje pomiar ADC poprzez DMA (czyli...
Witam. Mam następujący problem. Potrzebuje odczytać temperatury z układów MAX6675. Na początek testuje komunikacje z jednym układem. O ile wykorzystuje wyjście NSS mikrokontrolera to wszystko działa należycie. Gdy jednak chciałbym aktywować MAX'a innym wyprowadzeniem niestety nie przynosi to rezultatu. Ciekawe jest to, że przy użyciu debuggera program...
Witam. Mam następujący problem. Po raz pierwszy uruchamiam na tych procesorach magistrale SPI i mam z tym duże problemy. Układ podłączyłem tak jak w datashecie maxa [url=http://datasheets.maxim-ic.com/en/d... MAX6675.pdf Próbowałem skonfigurować stm'a w następujący sposób: [syntax=c] ...... #define NSS_0 GPIOB->BSRR=GPIO_BSRR_BR12;//L #define...
Jak dla mnie to nadal nie jest do końca jasne jak działa ten układ po przeczytaniu opisu. Rozumiem na razie tyle, że bajty wysyła się po SPI i tyle Dalej sygnał zegara ze SPI odpala timer (input capture trigger, zajrzyj do PDFa) generujący impulsy i DMA kopiujące wartość z portu F do licznika timera. Dzięki temu timer przeskakuje cykl jeśli na linii...
Jak w temacie, od dłuższego czasu nie mogę sobie poradzić z skonfigurowaniem DCMI tak by na rejestrze DCMI->DR pojawiły się dane. Próbuję pobrać obraz z kamery MT9D111. Wszelkie próby nawet z DMA ( którego nie chcę na razie używać ) kończyły się fiaskiem, więc proszę o pomoc kogoś kto zna odpowiedź na moje pytanie. Układ realizowany jest w oparciu...
Witam. Postanowiłem zgłębić tajniki mikrokontrolerów STM32. Wybór padł na procesor STM32F3 Discovery. Mam problem z poniższym kodem. Jest to przykład działania przetwornika ADC. Problem polega na tym, że nie wiem dlaczego to nie działa. Uruchamiam debugger, biorę krokową pracę, a program w zasadzie zatrzymuje się na linii ADC1ConvertedVoltage jest równa...
Witajcie, Zmieniam właśnie w moim projekcie gyro i akcelerometr na cyfrowy MPU 6050 i mam problemy z i2c (pierwszy raz tego czegoś używam :). Problem jest taki, że przy odbiorze danych po losowej ilości odebranych danych (kilka do kilkunastu odczytów, proc się zawiesza na 99% tutaj [syntax=c] // disable acknowledge printf("disable acknowledge\n\r");...
Znalazłem w końcu ale tam też nic ciekawego nie ma, są problemy z input capture ale tego trybu nie używam. Idiotyczną nawigację na stronie ma STM.
Zmiana przypisania funkcji jakie mają pełnić dane wyprowadzenia nie jest możliwa. Jeżeli dobrze zrozumiałem to żeby móc wykorzystać dane wyprowadzenie do wykrycia zbocza narastającego/opadającego z wykorzystaniem Timera to wyprowadzenie musi mieć możliwość pracy w trybie TIMx_CHx. Na tej podstawie widzę, że to wyprowadzenie (PE0) nie ma takiej funkcji...
To także mam zrobione (dużo wcześniej w samym mainie na początku odpalam wszystkie porty i afio). Ogółem z testów wynika jakby wogóle nie były podpięte piny kanałów 2 i 4. Już sprawdziłem milion możliwości ustawień, żadne nie prowadziło do jakiejkolwiek reakcji na impulsy na tych pinach.. Cytując manuala: Bits 9:8 CC2S[1:0]: Capture/Compare 2 selection...
Po pierwsze: jak często jest ono zgłaszane? Przerwanie jest zgłaszane z częstotliwością 1 kHz. DCMI odbiera dane non stop. Po trzecie: co robi AKTUALIZUJ_PWM (pwm_lookup_table aktualizuje rejestr PWM poprzez wywołanie funkcji [syntax=c]TM_PWM_SetChannelPercent(&... TM_PWM_Channel_1, 100-x);[/syntax] która wywołuje [syntax=c]TM_PWM_Result_t...
Panowie mam chyba zaćmienie , pomroczność jasną albo skutki Covid-19. Procesor STM32L552 STM32CugeIDE i HAL Mam zmierzyć częstotliwość sygnału prostokątnego ok. 2,8 – 3,1 MHz FCPU 100 MHz Licznik Tim2 kanał 1 Clock source - InternalClock Channel 1 - Input Capture direct mode Tim2 global interrupt - enabled. Przerwanie działa void HAL_TIM_IC_CaptureCallback(TIM_Handl...
Witam, Mam jeden z dwóch często występujących problemów. Nie wiem czy to wina konstrukcji czy kodu. Z napięcia około ~12V mam zrobiony dzielnik napięcia (4K7 i 8K) tak, że na wyjściu mam około 2.44V. Po wgraniu kodu otrzymuje następujące wyniki: 2715 $ 2723 $ 2721 $ 2718 $ 2717 $ 2715 $ Jak widać, rozbieżność jest w granicy moich oczekiwań jak na rezystory...
1. Proponuję zapomnieć o arduino. 2. Nucleo ma debugger, który Ci się bardzo przyda. 3. Jak mierzyć - najlepiej obydwiema matodami. ADC + CMSIS-DSP -> robisz analizę widmową i znajdujesz największy "bin". Potem mieniasz próbkowanie aby jak najbardziej ten "bin" pasował. Do tego komparator (bo niestety STM32103 to dość stara i prosta konstrukcja - i...
Problem dotyczy wykorzystania wejścia licznika w trybie Input Capture wraz z DMA. Celem jest pomiar częstotliwości sygnału i jego wypełnienia. Na samym początku dodam, że jest jedno ograniczenie, które związane jest z wykorzystaniem pojedynczego wejścia licznika. Oczywiście, można skonfigurować tryb PWM Input, ale niestety w tym przypadku będą wykorzystane...
mogłeś nie przeczytac uwagi Te Callback to nie zawsze działają jak by się chciało. HAL lubi włączać przerwania wszystkie z możliwych. Najlepiej swoje funkcje umieszczać w pliku "stm32f4xx_it.c"" Przykładowo robię tak: [syntax=c] void TIM1_UP_TIM10_IRQHandler(void) { /* USER CODE BEGIN TIM1_UP_TIM10_IRQn 0 */ if (__HAL_TIM_GET_FLAG(&htim1, TIM_FLAG_UPDATE)...
Chcę w jakiś sposób okiełznąć USART, na razie bez DMA. Korzystam z gotowego przykładu, jednak pustki w terminalu. Fizycznie : GND przejściówki USB RS232 podłączony z GND disco, RX, TX kros. stm32f10x_usart.c [syntax=c] #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include <stdio.h>...
Proszę kod bez dodatkowych pustych lini. biblioteka [syntax=c] /* Includes ----------------------------------------... #include "TC.h" #include "systick.h" #include "GLCD.h" #include <stdio.h>; /***************************************... * Function Name : MAX31855_SPI_Init * Description...
Proponuję użyć dowolnego uC z dwoma licznikami, ale niekoniecznie atmega8 ;) Pierwszy pracuje w trybie pomiaru częstotliwości lub pomiaru czasu (Input Capture). Drugi pracuje jako generator przebiegu wyjściowego, pędzony np. z zegara systemowego. Wartość zmierzona przez pierwszy licznik jest argumentem funkcji modyfikującej częstotliwość i/lub wypełnienie...
Ja pisałem o metodzie cyfrowej. Przecież to są pojedyncze linijki kodu. Heterodyny: pobieranie danych z tablicy sinusa (albo po prostu liczenie sinusów, jak ktoś ma odpowiednio mocny procesor). Mieszacze: Zwykłe mnożenia. Filtry: Formuła z kilku mnożeń i kilku dodawań. Miałem to gdzieś ale nie mogę znaleźć kodu. Za to znalazłem kod do innej metody....
https://obrazki.elektroda.pl/4768835200_... Introduction to the course In order to understand what kind of device we will be designing today, let's first briefly recall what soldering stations generally are, and how they differ from each other. The entire lower price segment of such equipment, as you might guess, is captured by Chinese...
https://obrazki.elektroda.pl/4950580000_... 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...
Bardzo prosze o pomoc! Mam czujnik, którego sygnal chcialbym nie tylko móc ujac "capture" jak w ponizszym programie ale równiez móc spisac wynik z "capture" na inny pin. Nie mam pojecia jak ten Pin odbiorczy skonfigurowac. Tu poczatek konfiguracji capture. void timer3_konfig(void) { // TIM3 do pomiaru nadchodzacego sygnalu PWM z czujnika TIM_ICInitTypeDef...
Witam, udało mi się skonfigurować TIM1 do pracy w trybie PWM z dead time'em. Poprzez dolutowaną złączka podłączam go do przekształtnika i 'kręce' silnikem - tutaj wszystko jest ok. Potrzebuję dokonać pomiaru 3 prądów z przekształtnika, napięcia Udc oraz nap 1 fazy - do tego celu stworzyłem i zlutowałem układ oparty na wzmacniaczach TL072CN bo jak wiadomo...
input capture stm32 input capture capture input
sterownik pompy głębinowej schematy sprzętu technics sprawdzić pobór przez licznik
prostownik automatyczny schemat prostownik automatyczny schemat
NE646 Dolby-B – opis wyprowadzeń i zastosowanie w magnetofonach, schemat aplikacyjny NE646 Dolby – funkcja pinu 14 REC/PB, opis zastosowania w magnetofonach