sprawdź w dokumentacji czy aby po zresetowaniu flagi przerwania timera nie trzeba odczekać kilka instrukcji (2-3 NOP'y). Jeżeli tak jest, to w przeciwnym wypadku zaraz po wyjściu przerwanie otworzy się drugi raz i w tej sposób dioda mrugnie tak że tego nie zauważysz. Możesz to sprawdzić tak że diodę ustawisz na zapłoną (a nie stan przeciwny), to po...
Na samym końcu funkcji której używasz- TIM_TimeBaseInit() - jest wymuszany "update", co powoduje ustawienie flagi przerwania które włączasz. BTW - używasz bibliotek które zostały oficjalnie porzucone przez producenta. Takie był dobre, że stwierdzili, że trzeba to wywalić do kosza bo nic się z tym nie da zrobić [; Miliony ludzi, którzy twierdzili, że...
Rada praktyczna: ustaw preskaler tak, żeby podzielony zegar timera miał jakiś "okrągły" okres, np. 1, 10 lub 100 us, wtedy nie będziesz musiał pracowicie wyliczać wartości okresu timera, np. preskaler 7200 -> okres zegara 100 us; w celu uzyskania jednej sekundy ładujesz do ARR 10000-1. Twój problem, jak napisano wyżej, wynika z braku kasowania znacznika...
Skoro plik main.cpp jest plikiem C++, a wektory są funkcjami z C, to handler obsługi przerwania musi mieć ozdobnik `extern "C"`. Wstawiaj kod i logi w odpowiednich znacznikach (code/syntax), bo nie da się tego czytać.
Jak to zrobić: 1. włączasz przerwanie od timera w NVIC 2. Konfigurujesz timer, żeby generował jakieśtam przerwanie Odpowiedzi na pytania: 1. No bez timera raczej nie zrobisz przerwań co jakiś czas [; 2. Funkcja przerwania po prostu musi nazywać się DOKŁADNIE TAK SAMO jak jest wpisana w tablicy przerwań (zwykle CośtamCośtam_IRQHandler() ) 3. Hę? Przykłady...
Debouncing w przerwaniu - tylko nie mów, że robisz to przez aktywne oczekiwanie wewnątrz przerwania. Jeśli tak, to zauważ, że to, że skasowałeś flagę przerwania i jesteś w przerwaniu wcale nie oznacza, że flaga nie może zostać ustawiona ponownie. Możliwy jest taki scenariusz: wciskasz przycisk, pojawia się zbocze opadające które ustawia flagę a więc...
Witam Panowie mam takie pytanie: używając pętli for kopiowanie np 5 tys elementów z jednego bufora od drugiego trwa jakieś ~1,85ms. Mierzę to timerem robiąc przerwania co 50us. Jak używam memcpy to 5tys elementów kopiuje w 50us a dla 10 tys jest 100us . Czy to możliwe ? czy po prostu memcpy blokuje przerwania od mojego timera
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ć....
Jak już się upierasz przy "flagach", to może konsekwentnie również je "kliruj" i "setuj". ;) Ja wolę ustawiać znaczniki niż "setować flagi". Flagi to się raczej wywiesza, zwłaszcza o tej porze roku. Jak działa SR timera w STM32 - to dokładnie wiadomo - "w0c". żadna filozofia tego nie zmieni, a operacja &= skutkuje błędami, jeśli oprogramowanie ma reagować...
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...
Nie mogę rozwiązać problemu maksymalnej częstotliwości wyzwalania przerwania od timera (Update). Timer nie wyzwala przerwania z częstotliwością większą niż ok. 400kHz. Testuje zwykłą funkcjonalność wyzwalania przerwania w momencie zakończenia zliczania do góry lub na dół (update), bez PWM. Wszystkie próby prowadzę na jednej płycie (oryginalnej). Testowałem...
https://obrazki.elektroda.pl/3252078300_... 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....
Po kilku godzinach program odpaliłem ..... podświetlanie się załącza dopiero po naciśnięciu kilka razy klawisza, monitor pokazuje start i numery naciśnietych klawiszy i to nie za każdym naciśnięciem. nie wiem jak "zatrzymać" dany ekran menu żeby zrealizować inna funkcje np; zmiana stanu wyjścia /* * sterownik który wykończy mnie i innych ..............
https://obrazki.elektroda.pl/9151185000_... Druga część artykułu o najtańszych nowych mikrokontrolerach z roku 2017. Ekosystem developerski Środowisko developerskie mikrokontrolera ma ogromny wpływ na jakość pracy z nim i w konsekwencji - na produktywność. Na to składają się różne czynniki – jakość IDE, dostępne biblioteki, płytki...
Przy sprytnym projekcie to i STM32 może sterować wyświetaczem multipleksowanym sprzętowo, bez przerwania timera - wystarczy wszystkie linie do wyświetlacza mieć na jednym porcie.
Tytuł wątku mocno mylący. Pytasz tak naprawdę o ogólną strukturę programu sterującego obiektem. Podstawowy problem w tym przypadku to określenie częstotliwości dla algorytmu sterowania. Nie mam pojęcia, jaka ma być w tym przypadku. "Na oko" strzelałbym na jakieś 100Hz - z taką częstotliwością mierzysz, określasz nowe sterowania i je wystawiasz. Całość...
Będę nudny: zacznij od przerwania zgłaszanego co 10 ms. Nie nastawiaj timera na czasy kilkunastu sekund - obsłuż wszystkie zdarzenia w przerwaniu timera w postaci prostego automatu, zmieniającego stan przy upłynięciu jakiegoś czasu, naciśnięciu guzika i innych zdarzeniach.
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ć....
To jest parametr konfiguracyjny systemu - chyba wciąż 1 milisekunda Chyba masz na myśli max czas wykonywania tasku. Przy przełączaniu tasku przerwania mogą być blokowane ale nie na ms, raczej to będą ns. Na Arduino nie ma systemu, który by blokował przerwania Ale robią to wszelkiej maści i rodzaju biblioteki jak 1-Wire, WS2812. przerwań są po kilka...
Nie widzę obsługi przerwania USART, które jest aktywne. Zgaduję, że procesor grzęźnie w pętli domyślnej pustej obsługi przerwania. Zamiast bezsensowynch wygibasów z wypełnianiem struktury danych i wołaniem NVIC_Init() ten sam efekt osiągniesz prostym wywołaniem NVIC_EnableIRQ(USART2_IRQn);
Podłączenie przez kondensator faktycznie pomaga, jednak jest to sygnał który zmienia się ~200 razy na sekundę, dlatego niestety odpada. Swoją drogą jakim cudem na czujniku szczelinowym są drgania "styków" ( tam nie ma styków ). Taki sam problem miałem z czujnikiem HC-sr04 tam też przerwanie na wejściu głupiało. może problemem być to że te sygnały są...
Wykorzystując timer 16-bitowy oraz preskaler 65535 chciałbym wywołać przerwanie co 1 minute(59,6 sekundy) i w efekcie naprzemiennie zapalać i gasić diodę: [syntax=cpp] void Clock_init(void); void GPIO_init(void); void Tim1_init(void); int main(void) { Clock_init() ; GPIO_init(); Tim1_init(); while(1){;} } void Tim1_init(void) { TIM_TimeBaseInitTypeDef...
Witam, Widzę, że wywiązała się całkiem spora dyskusja i nie wiem do czego najpierw się odnieść. 1. Ten przypadek to maksymalne taktowanie timera i ciągłe wywoływanie przerwania, jednak nadal nie usprawiedliwia to czasu przełączania portu z ns do us. Nie zrobię teraz pomiarów więc nie podam dokładnych wyników ale przy wywoływaniu przerwania co 10us czas...
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...
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;...
Sygnał w żaden sposób nie jest niestandardowy. Toż to zwykły PWM, który jak najbardziej można wygenerować sprzętowo wykorzystując jeden kanał timera oraz wyjścia zwykłe oraz zanegowane. Jeśli między zboczami obu kanałów ma być odstęp czasowy to jest możliwość (dla advanced timers) skonfigurowania tzw. dead-time. Jak to skonfigurować? W Arduino nie mam...
Nie wiem czy to chciałeś osiągnąć, ale pin masz ustawiony na floating. Definicja w komentarzu była dobra, wartość liczbowa - zła. Przykłady znajdziesz w wyszukiwarce forum, w ostatnich tygodniach tematów o EXTI było kilka. 4\/3!!
Witam, Zastanawiam się czy istnieje możliwość w STM32 wygenerowania sprzętowego przerwania od przekroczenia wartości. Chodzi o to, że gdy wartość w rejestrze pierwszym będzie równa bądź większa względem drugiego to nastąpi wygenerowanie przerwania. Próbowałem tą sztuczkę zrobić z TIM1 i porównywaniem, ale niestety on chyba działa tylko jako porównawczy,...
Cześć, Platforma: STM32F769I-DISCO OS: FreeRTOS Środowisko: System Workbench for STM32 Próbuję zaimplementować PTP na podanej platformie, jednak od dłuższego czasu męczę się z regularnie pojawiającym się Hard Faultem. Jak zdołałem wybadać, błąd pojawia się prawdopodobnie, gdy upłynie czas jednego z timerów programowych, które są tworzone. Tworzonych...
Przyciski "floating" - czyli pryz zwolnionym przycisku mamy losowy stan wejścia z możliwymi oscylacjami. W dodatku używasz przerwań od przycisków, o których co tydzień tu piszę, że to nie jest dobry sposób na przyciski. Ignorowania drgań ani śladu w oprogramowaniu. To chyba nie ma prawa działać. Zacznij od przerwania timera - tam testuj stan przycisku...
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 ^=...
Witam. Mój problem dotyczy jak widać w nazwie tematu konfliktu między przerwaniami. Poniższa konfiguracja spełnia swoje zadanie i wszystko działa jak powinno. TIM2 [syntax=c] RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; TIM2->PSC = 47999; // Set prescaler TIM2->ARR = 600; // Auto reload value TIM2->DIER = TIM_DIER_UIE; // Enable update interrupt...
To mój pierwszy post na tym forum, więc witam wszystkich użytkowników. Od jakiegoś tygodnia bawię się ARMami, używam płytki ZL31ARM z prockiem STM32F103RBT6. Po kilku próbach zdałem sobie sprawę, że standardowa biblioteka ST to jakieś nieporozumienie i zacząłem pisać programy po prostu operując na rejestrach. Zatrzymałem się na pewnym problemie częstotliwością...
Witam, piszę całkiem spory (w moim mniemaniu) program do sterowania silnikiem i paroma jeszcze innymi rzeczami (aktualnie na ATmega32L i 8MHz wewnętrznego oscylatora) i mam niezrozumiały dla mnie problem z obsługą przerwania od timera, kod obsługi przerwania wygląda mniej więcej tak: ... .org 0x0012 rjmp t1Ovf ... t1Ovf: push r16 push r17 in R16,...
1. Jaka jest różnica między tymi dwoma zapisami, czy dobrze to rozumiem? TIM3->SR &=~TIM_SR_UIF; (tu zerujemy?) Powinno być: TIM3->SR =~TIM_SR_UIF; (tu rozumiem,że zmienia stan na przeciwny?) efekt powinien być w tym wypadku ten sam. Różnica opisana jest w RM, w którym opisana jest sekwencja zerowania bitów rejstru SR timerów. Zapisanie zera kasuje...
IMHO to trochę małoeleganckie rozwiązanie. Puszczasz timer z 4-krotnie wyższą częstotliwością, przy czym ładujesz nową wartość PWM co 4 przerwania timera. Ale przerwania masz z częstotliwością PWM... A wszystko po to, żeby zaoszczędzić timer, którego i tak nie wykorzystujesz... A na koniec - to wszystko można zrobić automatycznie przy pomocy timera...
Cześć, mam dziwny problem z STM32F030K6T6. Są dwa timery TIM1 i TIM3. TIM1 ma podpięte 4 kanały PWM. Sytuacja jest następująca: zezwolenie na przerwania pochodzące od TIM3 powoduje zaprzestanie działania PWM na kanałach 1,2,3. 4 działa poprawnie. W agonicznym poszukiwaniu problemu wyłączyłem wszystkie inne przerwania a kod obsługi IRQ TIM3 wygląda teraz...
Witam. Zawsze używałem "mało zaawansowane" i "proste" STM32F1, teraz zakupiłem nucleo H5 i mam z nim pewien "drobny" problem. Program prosty jak drut: 1. TIM2 32bity zapętlony liczy sobie wg zegara systemowego bez preskalera 2. TIM1 16bit taktowany zegarem systemowym z preskalerem 62 (61) wywołuje przetwanie co 2000 cykli 3. w przerwaniu tim1 zapisuję...
Witam, Moja konfiguracja: Eclipse, bazuje na przykładzie od freddiego, Linaro z 28.IX, optymalizacja -O0, [syntax=c] __main_stack_size = 2048; __process_stack_size = 2048; rom (rx): org = 0x08000000, len = 64k ram (rwx): org = 0x20000000, len = 20k[/syntax] [syntax=c]void TIM3_Conf(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TI...
Mam taki oto kod przerwania od Tim2 [syntax=cpp] void TIM2_IRQHandler(void) { if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET ) { TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update); if (TF) { GPIO_ResetBits(GPIOB , GPIO_Pin_10); TIM2->PSC=7200; TIM2->ARR=7500; } else { GPIO_SetBits(GPIOB , GPIO_Pin_10); TIM2->PSC=72; TIM2->ARR=6; } TF=~TF; } } [/syntax]...
Witam Zaczynam się bawić z moim stm32 discovery i mam problem z konfiguracją przerwania. [syntax=c] #include "stm32f0xx.h" #define zapal GPIOC->BSRR|=(1<<9);//zapal diode #define zgas GPIOC->BSRR|=(1<<25);//zgas diode int main(void) { RCC->AHBENR |=(1<<19);//wlacz port C RCC->AHBENR |=(1<<17);//wlacz port A GPIOC->MODER...
Akurat biore sie za jeden projekcik i doszedlem po wstepnej analizie ze dalsze pisanie bez RTOS-a to bedzie lekki horror :) Dzisiaj na tapete wzielem ChibiOS/RT... niestety nie mam wiekszego doswiadczenia z RTOS-ami na STM32 :) Ladnie udalo sie odpalic miganie LED-ami na wlasnej plytce itd. Ale niejako sam RTOS przez warstwe HAL sprawia mi troche problemow...
Główne różnice to obecność "zanegowanych" sygnałów wyjściowych (OCxN) z opcjonalnym deadtime oraz wejście "hamulca" (BKIN). Właśnie dlatego go szkoda. Timery w STM32 są niesamowicie rozbudowane Tym bardziej szkoda takiego całego timera jako dzielnika /2. Ale udało się-wykombinowałem. Wymagało zewnętrznego połączenia wyjścia np ch3 na który mam wyprowadzony...
Nie widzę sensu używania EXTI + Timera. Lepiej użyć samego timera i przerwania od niego co jakiś czas niż kombinować z blokowaniem przerwań i odblokowywaniem ich gdzieś tam. Sposób podał tymon i ja(dość minimalistycznie, ale chociaż trochę wkładu własnego!). EXTI nie powinno się używać do mechanicznych niefiltrowanych sprzętowo przełączników. Wystarczy...
Problem polega na tym, że potrzebuję 2 liczników do zliczania impulsów z 2 źródeł, a te źródła to piny PB6 i PB7, czyli jak wskazuje nota katalogowa uC odpowiednio kanały 1 i 2 timera TIM4: http://obrazki.elektroda.pl/5000204900_1... Myślałem, że jak są 2 kanały to każdy z nich może być źródłem sygnału taktującego i każdy kanał może...
W prawdziwym systemie na ogół potrzebujemy coś robić (np. sprawdzać stan guzików, czujników, wyliczać sterowania dla urządzeń) z częstotliwością dużo większą niż częstotliwość migania diod sygnalizacyjnych. W takiej sytuacji mnożenie przerwań od timerów może powodować zwiększenie czasu reakcji lub rozrzutu czasu reakcji na przerwania, co często jest...
Cześć, czy ktoś z Forumowiczów trudził się z usypianiem mikrokontrolera w zadaniu Idle? Mój problem wygląda następująco: podmieniłem przerwanie dla ticku systemowego z timera SysTick na przerwanie od alarmu RTC. W Idle Hook chcę wprowadzić uC w tryb uśpienia Stop. Na moje oko uC powinien się sam wybudzić po wystąpieniu przerwania od alarmu, a nie robi...
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 //--------------------------------------...
Dzięki, teraz działa ładnie, może się komus przyda. [syntax=c] ////////////////////////////////////////... przyciskow void EXTI15_10_IRQHandler(void) { NVIC_DisableIRQ(EXTI15_10_IRQn); //wyłącz przerwanie exti if(((EXTI -> PR)&EXTI_PR_PR10)) //przerwanie od PA10 { po1++; } if(((EXTI -> PR)&EXTI_PR_PR11))...
Nie powinno zatrzymywać się na wartości AAR tylko liczyć dalej (przekręcić się). Timer musi być zle skonfigurowany. Poniższy kod na pewno działa :) // konfiguracja timera TIM_DeInit(TIM2); //Konfiguracja timera do zliczania impulsow z enkodera TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE); TIM_EncoderInterfaceConfig(TIM2, TIM_EncoderMode_TI1,TIM_ICPolarity_Falli...
Witam, Chcę skonfigurować timer tak aby po określonym czasie zostało wygenerowane przerwanie(jednokrotnie), fragment kodu: [syntax=c]TIM4->PSC = 7200; TIM4->ARR = 10000; TIM4->DIER = TIM_DIER_UIE; TIM4->CR1 |= TIM_CR1_URS | TIM_CR1_OPM | TIM_CR1_CEN; NVIC_EnableIRQ(30);[/syntax] obsługa przerwania: [syntax=c]__attribute__ ((interrupt)) void TIM4_IRQHandler(void)...
Witam Proszę o pomoc w rozwiązaniu problemu. robię projekt silnika prądu stałego z enkoderem na STM32 podpiąłem wyprowadzenia : -PA6 Enkoder CHA Wejście pływające (TIM3_CH1) -PA7 Enkoder CHB Wejście pływające (TIM3_CH2) i nie wiem jak ruszyć dalej by wyświetlać odczyt prędkości na wyświetlaczu LCD. Robie to na STM32f103VBT i Używam biblioteki ST Tyle...
Napisałem delay oparty o timer konfiguracja TIM1: void TimerConfig() { RCC_APB2PeriphClockCmd(RCC_APB2Perip... ENABLE); TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_ClockDivision=... TIM_TimeBaseStructure.TIM_CounterMode=TI... TIM_TimeBaseStructure.TIM_Period=72; TIM_TimeBaseStructure.TIM_Prescaler=1;.....
Po ponad tygodniowej przerwie STM32 znowu zagościł na moim biurku. Aktualnie walczę z Timerem, na szybko skonfigurowałem go tak aby odliczał do góry, teraz chciałbym aby było z niego wyzwalane przerwanie. Z tego co wyczytałem w przeróżnych manualach udsotępnianych przez STM trzeba to zrobić w rejestrze ISERx, pytanie tylko co podstawić za x i pod którym...
Witam, już dobrych kilka godzin zastanawiam się, dlaczego timer 1 nie działa tak jak chcę. A chcę, poprzez poniżej przedstawione funkcje włączać żarówkę po odliczeniu przez timer na czas też odliczany przez timer. Konfiguracja timera 1: void Tim1_config(void) { RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; TIM1->CR1 |= TIM_CR1_ARPE; TIM1->CR1...
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 http://en.radzio.dxp.pl/stm32vldiscovery... . Mój kod różni się tylko tym, że nie wykonuje tutaj remmapu, ponieważ w moim uC (stm32f103vct6) TIM3_CH3 i TIM3_CH4...
Witam, Mam kolejny problem niestety. Chciałbym użyć drugiego kanału Timera 2 do generowania sygnału na danym pinie w sposób sprzętowy (czyli nie tak, ze w obsłudze przerwania ustawiam sobie ten pin na 1 i 0...). W manualu jest napisane (tabela 43), że TIM2_CH2 przy braku remapingu jest podłaczony do pinu PA1 Wobec tego konfiguracja portu A i pinu 1....
No już nie przesadzaj... Pół roku temu położyłem w projekt LPC1113-302 i tak został do dzisiaj, i nie znajdę mu lepszego odpowiednika nigdzie . W projektach, gdzie leżą STM32, tak samo nadal będą leżeć, bo po co to zmieniać? Czym według ciebie różni się procesor "lepszy" od "gorszego", w zakresie CM0? A w zakresie CM3? Robiąc projekt, masz konkretne...
Rozwiązałem część problemu (źle rozumiałem adresowanie w Packet Memory ale dzięki zerowaniu tego obszaru pamięci podczas resetu USB i podglądu w debugerze + podglądnięciu jednego z przykładów zrozumiałem jak to działa) i otrzymuję teraz prawidłowe żądanie GET_DESCRIPTOR. W trakcie pisania tego postu też w końcu doszedłem do tego co robię źle... błąd...
Dalszy ciąg walk :-) Podłączyłem płytkę z DAC'em do STMF107, ale bez żadnej róznicy w działaniu - nadal to samo. Potem jednak przyszło mi do głowy, że karmienie I2S danymi z Timera może wnosić jakieś przesunięcia czasowe, itp... Przerzuciłem więc procedurę "karmiącą" do przerwania od I2S wyzwalanego bitem TXE. I jest poprawa - dźwięk jest już dużo bardziej...
Może zacznę od opisu konfiguracji. Mam czujnik TSOP1736 podłączony do zasilania 5V, zaś jego wyjście do wejścia P0.16 mikrokontrolera LPC2148. Pozostałe połączenia (zasilanie, JTAG itp.) są OK, gdyż jest to zestaw ewaluacyjny Propoxu - EVBlpc213x\4x. Napisałem sobie bibliotekę do odbioru kodu RC5. Posiłkowałem się tą #include "lpc214x.h" #include...
[syntax=c] #include "stm32f10x_conf.h" #include "stm32f10x_gpio.h" #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" #include "misc.h" #include "stm32f10x_exti.h" #include "stm32f10x_flash.h" #include "integer.h" //#include "rtc.h" #include "diskio.h" #include "ff.h" #include "ffconf.h" #include "stdio.h" //------- Pin Defs...
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};)...
obsługa przerwania timera atmega przerwania timera stm32 przerwania
piekarnik uszkodzić laptop pęknięty obudowa pralka łożysko wymienny
satel certyfikat pilot bramy zasięg
Schemat elektryczny silnika 1.5 dCi Nissan - jak znaleźć? Vaillant ecoTEC plus 126 date and time setting on VRT, VRC, senso controllers and timeSWITCH