KEELOQ + rolling code można wykorzystać w swoim projekcie DIY bez przeszkód? Oczywiście. Dodano po 33 Mogę zainteresowanym podać kod KEELOQ dla pilota i odbioru , oczywiście z innymi danymi pilota ;). PILOT: Dodano po 10 Bardzo ciekawy i użyteczny projekt, właściwie to prototyp, który może przekształcić się w produkt. A czego mu brakuje żeby już nie...
Mnie tam brakuje ustawienia przerwania: [syntax=c]TIM1->DIER = 0x00000001;// enable update interrupt[/syntax] Ogólnie takie coś powinno działać: [syntax=c]TIM1->CR1 = 0x00000000;// default TIM1->PSC = 0x000000FF;// set max prescaler TIM1->ARR = 0x00000FFF;// set max reload count TIM1->CCMR1= 0x00000068;// set PWM mode 1 TIM1->CCR1= 0x000000FF;// set...
konstrukcja na pojedynczych licznikach TTL + bramkowanie z GPS. Całość odczytywana i obrabiana przez procesor. Bez sensu. Liczniki sa w mikrokontrolerze, jak licznik jest za krótki, to albo przerwanie od przepełnienia i część licznika programowa, albo lepiej kaskadowe połączenie liczników. W STM32 kaskadowo można łączyc liczniki programowo, w AVR sprzętowo....
Ok. Na razie priorytetów nie ustawiam, puki innych przerwań nie będę potrzebował. Jest tego wszystkiego trochę, ale ogólnie praca z STM32 jest bardzo przyjemna, no i z C:) Robienie tego wszystkiego w asm od zera, to byłoby dość karkołomne. Dodano po 11 W sumie muszą być dwie funkcje inicjalizacji RTC, np. RTC_Init(); i RTC_Init_Full(); Pierwsza do inicjalizacji...
Dzień dobry Koledzy. Piszę kod w C#.NETMF dla STM32F429I-DISC1. Próbuję zrealizować takie działanie w którym wykorzystuję metody klasy UIElement. Jedna z metod obsługuje zdarzenie dotknięcia panelu dotykowego. Druga z metod ("Invalidate();") pozwala aktualizować treść wyświetlacza. Do tego mam timer który co sekundę generuje przerwanie inkrementujące...
Sądzę, że jak to określiłeś ćwierkanie spowodowane jest błędem w programie, ponieważ na LPC1114 na znacznie wolniejszym zegarze 48 MHz odgrywana muzyka i to ze znacznie wolniejszego medium czyli karty SD poprzez interfejs SPI brzmiała przyzwoicie. Sugeruj się tym kodem: [syntax=c] LPC_TMR32B1->MR3 = 256 - 1;// podstawa czasu dla PWM LPC_TMR32B1->PWMC...
Kol. Kaczor dziękuję za pomoc choć brak w książecce pełnych listingów nie był aż tak wielką preszkodą. Na początek interesują mnie pola struktury inicjującej licznik, dla przykładu : TIM_TimeBaseStructure.TIM_Period = 65535; TIM_OCInitStructure.TIM_Pulse = 10000; Takie zainicjowanie licznka i kanału w jaki sposob będzie skutkowało dla generowania przerwania...
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...
Zrobiłem teraz oczekiwanie na timerze 6 tą przerwę (1 sek) ale nic nie pomaga: Dodano po 38 Porównałem rejestry CR przed wywołaniem kalibracji w moim i przykładowym programie. Różnica polega na tym, że u mnie włączony jest bit ADstart a w przykładzie jest wyłączony. Skąd się bierze ta różnica?
(at)BlueDraco hmm przerwania owszem i ich wielopoziomowosc jest przydatna ale tez nalezy pamietac ze rdzen ARM7TDMI ma niestety tez sporo gorzej rozwiazane niz Cortex-y... a male procesory to tez nie sa ;) Jednak nie o tym mialo byc... W sumie nie zawsze petla glowna jest zlym rozwiazaniem, czasami mozna w niej przeciez zbudowac maszyne stanow ktora...
witam, mam podobny problem, nie wiem co robię źle, chcę zapalić diodę podłączoną do PB0 za pomocą przerwania od przycisku podłączonego do PC7 lub 8. po wgraniu kodu przerwanie od SYSTICK ładnie działa, zapala i gasi na zmianę diodę na PB1, natomiast dioda na PB0 swieci się cały czas i nie ma żadnej reakcji na naciskanie przycisku.... poniżej kod.
Witam, Mam problem z konfiguracją licznika do pomiaru czasu trwania sygnału na wejściu PA1. Generalnie chcę to rozwiązać w następujący sposób: w momencie wykrycia zbocza narastającego lub opadającego wywołuję przerwanie EXTI1. W obsłudze przerwania EXTI1_IRQHandler, sprawdzam stan portu PA1 jeśli jest stan wysoki to chcę uruchamiam licznik, który zmierzy...
To kod, który u mnie na STMF107 działa - może znajdziesz jakieś róznice... W przerwaniu mam obsługę klawiatury 4x4 + kilka liczników, ale to tutaj nieistotne, więc nie zamieszczam. [syntax=c] //--------------------------------------... // Inicjalizacja TIM2 //--------------------------------------...
pomiędzy włączeniem licznika a kasowaniem flagi przerwań miałem opóźnienie, które powinno spowodować to że zdążą sie wpisać nowe wartości do rejestrów. Mógłbyś pokazać ten kod z opóźnieniem o którym piszesz?
Witam, mam problem z poprawną konfiguracją modułu Bluetooth. Chodzi o to, że na przetwornik ADC wyzwalany timer1 podaje sygnał z GPIOB i chcę próbkować go wg ustawień timera z częstotliwością co najmniej 500Hz. Dane pobierane są z rejestru ADC przez DMA do zadeklarowanego wcześniej buforADC (unsigned short int buforADC buforTx (unsigned char buforTx[4]={0};)...
Wg. dokumentacji uC w takiej konfiguracji powinno nastąpić przy stanie licznika 0, czyli wszystko się zgadza. Co to znaczy "zablokowanie przeładowania licznika" oraz że licznik "ma się zatrzymać, ale nie wyłączyć"?
Hej, czy wie ktoś dlaczego tak się może dziać? Do licznika TIM2 podłączony jest zewnętrzny zegar. Liczy do ustawionego przepełnienia, potem liczy od zera i to jest ok, ale zaraz po tym jak chce go zresetować - w rejestrze CCR1 jest 0 i licznik przestaje liczyć. Do resetowania ustawiam na RCC_APB1RSTR na pierwszym bicie (to jest właśnie reset TIM2) czekam...
Będzie tak jak piszesz. Przerwanie po doliczeniu do 999 po czym zerowanie licznika i liczy od nowa
Witam, próbuję skonfigurować licznik TIM2 w STM32L152RE, aby zliczał impulsy z pinu w trybie alternatywnym AF1 na PA0 i generował przerwanie po zliczeniu 10. Stan wysoki na linii w przerwaniu od SysTick. Niestety, TIM2 po zliczeniu impulsów nie generuje przerwania i nie ma żadnej reakcji od niego. Czy ktoś spotkał się z takim problemem? Funkcje do obsługi...
Witam, chcę zrobić prosty stoper zliczający 655.4sekundy aktywowany wciśnięciem 20H ( w symulatorze na razie), jednak nie działa mi przerwanie i nie wiem czemu, program zapętla się i inkrementuje tylko R1 i gdy licznik T2 się przeładuje to następuje zresetowanie i dalej zlicza, nie obsługuje przerwań PRZE_INT0 i PRZE_T2. Prosiłbym o pomoc :) [syntax=avrasm]LJMP...
Z pomocą manuala od St do mikroprocesora z rodziny stm8l15x napisałem taki program, który miał zapalać diodę po przekręceniu się licznika. Jednak do przerwania w ogóle nie wchodzę. Co mam nie tak, bo nie potrafię znaleźć. stm8/ #include "mapping.inc" #include "stm8l152c6.inc" segment 'rom' main.l rim ld A,#%11111111 port_init ld PE_DDR,A ld PE_CR1,A...
witam, Mam następujący problem: Do Pinu 3 portu GPIOC mam podłączony sygnał 1kHz i chcę generować przerwanie od zbocza opadającego. moja konfiguracja: [syntax=c] GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GP... ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SY...
Witam po skonfigurowaniu encoder interface mode zauwazylem ze po przepelnieniu , licznik nie resetuje sie przykladowo jezeli ustawie wartosc, do ktorej ma zliczac na 100 to po dojsciu do tej wartosci licznik nie resetuje sie (chyba powinien zliczac znowu od 0 do 100) inicjalizacja: [syntax=c]void initEncoder() { RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;...
Proszę mnie nie odsyłać do dokumentacji, bo siedzę z nią już kilka godzin. Normalnie mi wstyd, ale nie potrafię uruchomić timera jako licznika zewnętrznych impulsów - w najprostszej konfiguracji. Nie wiem np. jak ustawić pin GPIO - jako AF dla np. TIM1_CH1??? Na razie mam coś takiego - pewnie powrzucałem masę zbędnych rzeczy a nie ma czegoś podstawowego,...
Witam, Mam problem z realizacją przerwania z USART3 na STM32L152RBxx. W momencie wywołania przerwania debugger zatrzymuje się na funkcji default_handler(). Poniżej umieszczam kod: main: #include "stm32l1xx.h" #include "stm32l1xx_conf.h" #include <string.h> void GPIO_Conf(void); void RCC_Conf(void); void NVIC_Conf(void);...
Witam! Problem polega na tym że chociaż użyłem zmiennej volatile nie nastepuje jej zwiększenie w przerwaniu a przez to wykonanie pętli if. w czym może być problem? Dodano po 46 rozwiązałem to poprostu trzeba było wsadzic petle if w nieskończoną pętle while
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 staram sie uruchomić sprzętową obsługe encodera w stm32F4. Generalnie całość już działa problemem okazuje się sam timer. Działa inkrementacja i dekrementacja timera jednakże licznik nie chce się przepełnić zarówno przy zliczaniu w górę i w dół timer dolicza do maksymalnej wartości zapisanej w rejestrze CNT. przy zliczaniu w góre (obrocie koła)...
STM32CubeIde STM32L552CCT6 Timer2 w trybie encoder mode Konfiguracja Timera [syntax=c] static void MX_TIM2_Init(void) { /* USER CODE BEGIN TIM2_Init 0 */ /* USER CODE END TIM2_Init 0 */ TIM_Encoder_InitTypeDef sConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; /* USER CODE BEGIN TIM2_Init 1 */ /* USER CODE END TIM2_Init 1 */ htim2.Instance...
Witam. Mam standardowy enkoder dwa kanały A,B przesunięte o 90st. Próbuje skonfigurować timer 2 do pracy z tym enkoderem jednak licznik ani drgnie. Próbowałem skonfigurować na różne sposoby i w końcu nie wiem czy coś jest fizycznie uszkodzone czy po prostu źle skonfigurowałem rejestry. Oto mój program: [syntax=c] RCC->APB1RSTR|=RCC_APB1RSTR_TIM2RST;....
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 Idea działania programu jest taka, że po starcie na wyświetlaczu pojawia się komunikat "napis testowy", a po naciśnięciu przycisku wyświetlany jest napis "STANDBY MODE" i układ przechodzi w tryb standby. Po naciśnięciu przycisku napis wyświetla się, ale mikrokontroler nie pracuje w trybie standby (podłączony miernik na pinie IDD). Niestety nie...
Witam mam lekki problem, mianowicie staram się oprogramować zewnętrzne przerwanie, standardowo wywoływane po wciśnięciu przycisku, reagujące na zbocze opadające. Okej, wszystko elegancko ale po wejściu w przerwanie nie jest kasowana flaga przerwania. Przeglądając RM, nie odnalazłem żadnego rejestru w EXTI, który by za to odpowiadał. Pytanie brzmi zatem:...
Witam kolegów! Dorwał się człowiek do STM32 i teraz będzie spamował. Ale w tym wypadku i działa i nie. Chcę zrobić najbanalniejszego delaya na liczniku TIM17. uC taktowany 16MHz. I jest mały problem: void bios_delayMs(uint32_t ms){ RCC->APB2ENR|= RCC_APB2ENR_TIM17EN; TIM17->CNT=0; TIM17->ARR=0xffff; TIM17->PSC=30000; TIM17->CR1=...
Witam serdecznie mam mały kłopot z zatrzymaniem pętli licznika, używam do tego 2 styków Sw1 i sw2, czyli start stop jednak, gdy przyciskam styk odpowiadający za zatrzymanie pętli Ona po chwili jest uruchamiana ponownie Poprawiono tytuł na zgodny z regulaminem p. 3.1.15. oraz zasadami korzystania z działu mikrokontrolery . LordBlick
OK, dzieki użyłem gotowca Nie używaj gotowców w takiej banalnej sytuacji. Doczytaj co to jest ten Systick. W dużym skrócie to licznik 24 bitowy - to ważna informacja, może zliczyć maksymalnie do ok. 16 mln (2 do 24). Po doliczeniu do zaprogramowanej wartości zgłasza przerwanie. Do ustawiania wartości można użyć funkcji Systick_Config(), ale najlepiej...
Więc, doszedłem do tego, że mam źle skonfigurowany Timer. Jak wrzuciłem kod z użyciem bibliotek to ruszyło, zaczął przesyłać w nieskończoność jakieś losowe wartości. Po pierwsze w NVICu muszę odblokować przerwanie od Timera: Tak na początek - rejestr danych USART ma 8 bitów, nie 16. Zaprogramuj transfer DMA 8 bajtów, a nie czterech słów. Liczby transmitowanych...
Do pasma EKG układ w zupełności wystarczy. W kwestii punktu 4, chodziło mi o taką konfigurację licznika: - licznik zlicza w jednym kierunku, np. w górę. - Czas pełnego okresu (PSC i ARR) to trochę więcej niż czas transmisji + impuls LDAC (=210ns). - Do jednego z rejestrów porównujących ładujesz wartość, która odpowiada impulsowi LDAC, a wyjście konfigurujesz...
Ok no to zaczynamy na początku (po konfiguracji itp.) powinieneś mieć coś takiego: [syntax=c] if (BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5) /* Sprawdzamy czy trzeba ustawić zegarek */ { /* Zawartosć licznika RTC nie jest prawidłowa, należy ustawić zegar */ /* Konfiguracja oscylatora, preskalera itp. */ RTC_Configuration(); /* Funkcja w której ustawiasz...
Czy dobrze rozumiem że ustawiając Update DMA i Update interrupt to po każdym przekręceniu się licznika zostanie wywołane przerwanie i DMA? W przypadku Trigger określam co bedzie powodowało start Timer'a?
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ść,...
Zrób sobie jakaś sygnalizacje na pinie zgłoszeniowym, ledka czy coś będziesz wiedzial czy przerwanie przyszło czy nie. Albo jakiś licznik wejść w przerwanie. od czegoś trzeba zacząć zobaczyć po czyjej stronie jest wina.
Witam. Kupiłem płytkę uruchomieniową STM32vldiscovery z kontrolerem STM32F100RB. W przykładowym programie użyto licznika SysTick do wywoływania przerwania co 1ms. W programie użyto funkcji włączającej podział zegara systemowego (ustawionego na 24MHz) przez 8. "SysTick_CLKSourceConfig(SysTick_CLKSour... Jednak aby przerwanie było wywoływane...
Jeśli zajrzysz do definicji funkcji NVIC_SetPriority((), zobaczysz, że dla SysTick nie rusza ona wcale NVIC. Racja, wpisuje do innych rejestrów. Ale Manual pisze że SysTick też wchodzi o NVIC. Jeszcze kolejna sprawa. Skoro Aby mogło wystąpić przerwanie należy zarówno ustawić i to co generuje przerwanie np Timer jak i NVIC. Ale co np ze znacznikiem...
Nawet jeżeli nie generuje jednego tylko więcej, to po jakimś czasie licznik powinien zliczyć do 5, w moim przypadku nic się nie dzieje, przerwanie się nie wywołuje.
gdybym w funkcji SysTick_Config(CLK_FREQ/1000); nie dzielił przez 1000 tylko zostawił moją częstotliwośc 72MHz to przerwanie było by co 1s ? dlaczego tak niby ? 72e6 razy sie zmieni to wywoła UEV co spowoduje wywołanie (w tym przypadku) tego handlera. poniewaz 1 zmiana licznika to 1 takt zegara to 72e6 / 72e6 = 1s Jak wartość bedze 72e3 to 72e3/ 72e6...
Przerwanie powinno być w porządku, ale co do inicjacji samego Timera to nie jestem pewny. Po prostu nie mam zaufania do funkcji API dla Timerów. Czy udało Ci się uruchomić cokolwiek związanego z licznikami na tych funkcjach?
Masz to zupełnie źle rozwiązane. Oczekiwanie w przerwaniu to jest kardynalny błąd! Jeśli chcesz to tak zrobić, to powinieneś mieć bufor z możliwością sprawdzenia ile jeszcze zostało do wysłania - np licznik pozostalych znaków. W przerwaniu sprawdzasz licznik - jeśli większy od zera, to zmniejszasz, wysyłasz, przesuwasz index tablicy (czy jak to tam...
Już wyjaśniam. Pojawia się przerwanie globalne licznika TIM2. Przeskakuję do ISR przerwania. Które flagi mam tam sprawdzić żeby dowiedzieć się czy przerwanie wystąpiło z powodu przepełnienia licznika czy z porównania kanału CC1? Według poradnika szczywronka i RM'a sprawdzałbym flagi UIF oraz CC1IF w rejestrze SR. Jednak mimo, że nie występuje porównanie...
Ok, z niechęcią pokażę jeszcze trochę kodu. Od razu wyjaśniam - ten kod to tylko taka tymczasowa partyzantka celem sprawdzenia i wykrycia takich sytuacji jak ta powyższa. Docelowo to będzie zupełnie inaczej zorganizowane. Dane są zbierane do RAMu przy pomocy DMA do podstawy 5-5ms/kratkę. Powyżej już są wyświetlane na bieżąco. Niemniej w obu przypadkach...
Wydaje mi się, że najłatwiej będzie rozwiązać to w obsłudze przerwania jednego z timerów. I przychodzą mi do głowy dwie możliwości: 1. Zmienianie parametrów pracy timera po każdym "trybie" przebiegu jaki ma być wygenerowany na wyjściu. Tj. przeładowywanie liczby do jakiej licznik powinien odliczyć zanim wygeneruje przerwanie. 2. Ustawienie licznika...
oba przerwania wykonują się z taką samą częstotliwością, niezależnie od tego co wpiszę w Pulse Nic dziwnego :) Przecież oba mają tę samą podstawę czasu, czyli rejestr TIM1->CNT. Jedyna różnica jaką mógłbyś zobaczyć, to moment przełączenia wyjścia lub pojawienia się flagi przerwania. Ale nie zobaczysz, ponieważ niezbyt szczęśliwie dobrałeś czasy 0 i...
Poczytaj, poeksperymentuj a jak po tym będziesz miał jakieś konkretne pytania to pisz. Wtedy z chęcia odpowiem. Trzymam za słowo :) A dlaczego timer nie mógłby wyzwolić konwersji w dowolnym momencie zaprogramowanym przez Ciebie? Z Twojej wypowiedzi rozumiem, że timer pracujący w trybie PWM może jednocześnie wyzwolić przerwanie w momencie startu licznika?...
Może być:) Ale rzeczywiscie niektóre informacje mogły by być nie tak ukrywane. W RM0008 przy opisie TIM2 to TIM5 - Prescaler description - ani słowa, przy opisie rejestrów TIMx_PSC - też ani słowa, jeżeli chodzi o obrazek Clock Tree to chyba nie ma go w RM0008, jest w manualach konkretnych procesorów, ale dla STM32F103VC nic takiego pod tym obrazkiem...
Witam! Eclipse Kepler Sourcery CodeBench Lite 2011.09-69 OpenOCD 0.6.1 STM32F103ZET6 Od pewnego czasu bawię się modułem GSM. Komunikacja z modułem standardowo komendami AT. Chciałbym usprawnić komunikację z modułem ponieważ moim zdaniem teraz robię to bardzo nieefektywnie: - wpisanie do bufora nadawczego komendy i uruchomienie wysyłania z wykorzystaniem...
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...
Przyłącze się do tematu- nie łatwiej wykorzystać przerwanie od przepełnienia timera? Ponizej przyklad realizacji 32 bitowego licznika dla enkodera: // Inicjalizacja timera void TimEncInit(void) { TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE); TIM_EncoderInterfaceConfig(TIM2, TIM_EncoderMode_TI12,TIM_ICPolarity_Fall...
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...
Miałeś zrobić przerwanie na opadającym i rosnącym zboczu, a nie jakieś liczniki wewnątrz przerwania... "Zbocze" sprawdza się czytając choćby rejestr IDR, a nie zakłada że zawsze będzie na przemian, bo jak widzisz jednak tak nie jest. 4\/3!!
Zapytam tu o inną jeszcze sprawę, bo nie chcę dla tego drobiazgu zakładać nowego tematu. Muszę ustawić timeout ramki, jezeli po odpowiednim czasie odbiornik nie odpowie, to transmisja zostaje przerwana z flagą błędu. Chcę do tego użyć timera, np.TIM4. Uruchomiony bedzie w najprostszej konfiguracji zwykłego licznika, ładowanego przed rozpoczeciem transmisji....
A jak się ma do tego sscanf()? Ok, to sporo pomogło, teraz jednak mam kolejny problem. To obsługuje mi przerwanie: [syntax=c]void USART1_IRQHandler(void) { //odbiór danych if((USART1->ISR & USART_ISR_RXNE) != RESET) { uint8_t data = USART1->RDR; gpsread[wpp] = data; if(wpp++ >= 128) wp = 0; } }[/syntax] A tu jest funkcja, która wczytuje...
(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 Opracowałem prosty program, żeby nauczyć się eliminować programowo drgania styków. Idea jest taka, że po starcie wyświetla się napis „Test0 „ po naciśnięciu przycisku „Test1” i „Test2”. Wykorzystałem rozwiązanie z przykładu 9.6 z książki K. Paprockiego, sam przykład po uruchomieniu działa prawidłowo, czyli zlicza...
Mogę się mylić, ale w tym przykładzie kolega miga diodką wykorzystując GPIO a nie podpinając do wyjścia timera, więc gpio out pp może chyba być. Czy kol. qczek przypadkiem na koniec nie konfigurujesz ch1 w tim2 jako capture, czyli "łapiącego" i liczącego impulsy z zewnątrz? TIM_SetCompare1(TIM2, TIM_GetCapture1(TIM1) + CH1_PULSE ); Poza tym nie zauważyłem...
A co to jest ? [syntax=c] SysTick_Config(SysTick_FREQ/1); [/syntax] SysTick to 24 bitowy licznik, SysTick_Config służy do zaprogramowania wartości od której odlicza on w dół, po przejściu zero generowane jest przerwanie i SysTick odlicza znowu od wartości wcześniej zaprogramowanej u ciebie jest to (SysTick_FREQ/1).
He, dziękuję za sprostowanie - jednak dwa miesiące przerwy w programowaniu i mi się myli :). Tak - wkleiłem te niepotrzebne linie gdyż są one z komentarzem który przynajmniej mi pomaga zrozumieć co tam się dzieje w tych komórkach rejestrów, ale zgadzam się, że również może zaciemniać ogół - i to bardzo :). Freddie napisał dokładnie i krótko, to co chcę...
Widzisz gdzieś w kodzie wyłączanie HSION? Bo ja nie... A boli cię że HSION jest włączony? Jeśli tak, to go wyłącz ;] Czymże jest "jakiś licznik"? Co ty z nim masz zmiar robić i do czego go używać? Od pomiaru czasów wykonywania kodu jest timer w procesorze. Poza tym, co ci po liczniku, skoro pierwsze lepsze przerwanie rozwala ci cały pomiar... W lewym...
Robię program składający się głównie z przerwań. Program steruje 6 silnikami krokowymi. Uruchomiłem więc 6 timerów dla kazdego silnika w trybie PWM, wypełnienie zawsze 50%, sterowanie częstotliwością. Żeby każdy silnik mógł wykonać zadaną ilość kroków (a zalezności miedzy silnikami są skomplikowane i nieprzewidywalne), każdy timer po wykonaniu impulsu...
stm32 przerwanie przerwanie stm32 przerwanie licznika
prosty wyłącznik pilota unifon napięcie panel nawiewu podświetlenie
spawarka rdzeń ferrytowy sprawdzić magnetron
Toyota Starlet 1998 1.3 – podwyższone obroty biegu jałowego, diagnostyka ISCV, ECT, TPS Iveco Daily 35-10 – dokręcanie czujnika obrotomierza, momenty, lokalizacja, szczelina