Komentarz w trzecim wierszu cytatu jest mojego autorstwa i jest to wytrych-obejście, który spowodował, że SPI transmituje od razu po wejsciu w przerwanie T3 bez czekania na zakończenie impulsu synchronizacji poziomej generowanego przez OC3; przepraszam za nie skomentowanie tego faktu. Gdy uruchomię framed slave mode, tak jak jest w oryginale, SPI nie...
http://obrazki.elektroda.pl/4155164900_1... 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)...
Aha czyli jak z Windows 7 mam jakiś problem to polecisz przesiąść się na Windows 10. Albo jeżeli wszyscy używają i się uczą na danym środowisku to Twoja rada na pewno będzie taka aby się na to środowisko przerzucić. Tematem mojego posta nie jest wybór środowiska. Twoja druga rada bardzo pomocna to jak coś nie działa to idź poczytaj. Iście przydatny...
, a chciałem po prostu, aby przerwanie z portu PMPslave zapisywało jak najszybciej nową daną do bufora, To może po prostu zamiast tych karkołomnych kombinacji zainteresuj się DMA? Albert
W moim przypadku to akurat faktycznie DMA na odbiorze nie ma sensu bo otrzymuje kilkanaście ramek na sekundę (po kilkanaście znaków) więc szukanie cały czas w buforze końca ramki wyjdzie mi tak samo jak odbieranie znaku w przerwaniu sprawdzanie czy nie koniec i ładowanie do bufora. DMA chciałem dać dlatego żeby nie musieć się martwić odbiorem na kilku...
Jeszcze jedno pytanko w temacie "atomowego dostępu" :-) Ponieważ mam oprócz PIC32 jeszcze dwa zestawy na procesorach F107 i F417, na które mam przeportowany ten sam kod co napisałem na PIC32, to oczywiście po dodaniu sekcji krytycznych w oprogramowaniu dla PIC32, musiałem również dokonać stosownych poprawek w plikach STM'ów. I pytanko tym razem dotyczy...
No można powiedzieć, że niemalże działa :-) Jak zwykle największe problemy wynikały z synchronizacji strumieni danych - wystarczyło coś w nieodpowiednim momencie przełączać, coś za późno się pojawiało i efekt dźwiękowy był nieciekawy. Okazało się np. że pomysł z przekopiowywaniem danych z bufora odbiorczego (z karty SD - 512B ) do bufora nadawczego...
Przepraszam - jasne, że us :-) Problem nie leży w samym wydłużeniu czasu - tylko, że SPI przestaje działać - zatrzymuje się dalsze wysyłanie danych. Procesor to PIC32 taktowany 80MHz, SPI taktowane 20MHz w tym momencie. Kod obu przerwań - prosze: SPI - to jest tylko fragment w którym się akurat zatrzymało - wyżej jest tylko odczyt bufora SPI do zmiennej,...
https://obrazki.elektroda.pl/6225803800_... Witajcie moi drodzy Ostatnio zająłem się nieco głębiej kwestią obsługi ENC28J60 w Mikro C na PIC32MX w połączeniu z nową biblioteką Network Ethernet Library z Libstocka . Jest to biblioteka dostępna za darmo i wspiera różne mikrokontrolery, nie tylko PIC. Prędko zorientowałem się jednak,...
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, chciałbym mieć przerwanie zewnętrzne na PE0 a cały czas cokolwike bym nie zrobił, przełączył, zmienił itd jest na PA0, moglby ktos rzucic okiem na kod i powiedziec co jest zle... wydaje mi sie ze w tym syscfg jest cos zrabane, albo nie chce sie ustawic etc... swoje wnioski opieram na tym ze PA0..2 normalnie smiga tylko nie mogeprzejsc jakby na...
Witam. Walczę z przerwaniami zewnętrznymi od kilku dni i niestety przegrywam walkę... Jeżeli konfiguruję po jednym zdarzeniu dla każdego przerwania (np. PA0, PA1, PA2) jest wszystko ok. Problem się zaczyna jak chcę skonfigurować kilka zdarzeń od jednego przerwania ( w moim przypadku: PA1, PB1 i PC1). Przerwania PA1 i PB1 nie działają w ogóle, natomiast...
Witam Mam problem Wszystko działało na portach PA PC i PD4-7 ale jak podpiąłem cały PD PB do drugiej części matrycy diodowej to przestało działać chyba przez przerwania. Zmieniłem rodzaj przerwania na czasomierz z uwagi ze chyba piny INT0 zmieniały stany. Wszystkie porty mam jako wyjścia a w części matrycy mam błędy zawsze w tym samym miejscu. Jaki...
Chciałbym napisać przerwanie do mojego programu zegara. Chcialbym aby przerwanie bylo wywolywane zmiana jednego pinu tzn zmiana PINA4 z 1 na 0. Gdy zmienie ten przycisk chcialbym aby wykonalo sie przerwanie. oto moj KOD: int main(void) { char B1; DDRA=0x00; DDRD |= (1 << PD1); LCD_Initialize(); TWI_Init();...
Witam. Otóż mam taki problem z przerwaniem od przepełnienia. Mianowicie w tym przerwaniu wykonywana jest tylko druga instrukcja "if". Do portów mam podłączone diody, dioda od portu portd_5 tylko nie zauważalnie miga co 5sek., przy porcie port_6 świeci-czyli ten "if" działa dobrze. Jeżeli "if-y" zamienię miejscami to i tak wykonywany zostanie drugi "if"....
Czesc, mam problem z konfiguracja przerwan zewnetrznych. Sprawdzalem kilka przykladow znalezionych w necie i zaden (prawie) nie dziala. Jedynym przykladem ktory dziala jest gotowiec z Atollic studio, i generowanie przerwan na porcie PA0. Niestety zadne modyfikacje na inne porty nie dzialaja. Oto moj kod: Inicjalizacja GPIO na porcie PB12: [syntax=c]void...
Witam wszystkich, mam problem z przerwaniem od przepelnienia, timer1. Siedze nad ta prosta rzecza któryś dzień z kolei i nie moge sobię poradzić. Prosiłbym o sprawdzenie kodu. [syntax=jezyk_C] #include<avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000 // czestotliwosc zegara 1MHz #include<util/delay.h> int main() { DDRA =...
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;...
Witam, przypadek następujący: Na init procesora i peryferiów ustawiam w rejestrze GICR bit odpowiadajacy za przerwanie INT0, po czym włączam globalnie przerwania (sei). Pin odpowiadajacy za INT0 ustawiony jest na wejscie bez pullup-a. W trakcie wykonywania programu dostaje przerwanie zewnętrzne i procesor skacze do obsługi przerwania, w którym jest...
mam ustawione przerwanie zewnętrzne ustawione na wyzwalanie zboczem opadającym i narastającym w funkcji obsługi przewania zapisuję sobie do bufora: void EXTI0_IRQHandler(void) { //Check if EXTI_Line0 is asserted if(EXTI_GetITStatus(EXTI_Line0... != RESET) { Buffer[iWriteIdx] = 'I'; GoToNextElement(&iWriteIdx);...
Atmega 32, program obsługujący klawiaturę - 4 przyciski, odczytywane co 20 ms ( co któreś przerwanie timera 1), przyciski podpięte pod PC), PC0,PC1,PC2,PC3. jeżeli w programie wykorzystuję PC0 i PC1 to jest ok , ale jeśli w pętli obsługi przerwania odczytującego klawiaturę sprawdzam stan przycisków PC2 i PC3 to zgłoszenia przerwania są w każdym odczycie...
Prosze o podpowiedz-przykladzik jak configurowac (w ATMEGA32)przerwanie np. INT1 aby reagowalo na opadajace zbocze
Cześć. To mój pierwszy post na forum dlatego witam wszystkich. Post można podzielić na dwie części: to działa i to co nie działa. Zacznę od tego co działa. Do pinu PD0 przypisałem przerwanie. W procedurze obsługi tego przerwania zwiększam zmienną o 1 i wyświetlam na LCD. Kabelkiem połączeniowym połączyłem pin od przycisku tj. PB7 do PD0. Przerwanie...
Witam Nie mogę uruchomić przerwania zewnętrznego na pinie PA7 (ani żadnym innym). Konfiguracja: [syntax=c]PORTF.DIRSET = PIN0_bm; PORTA.DIR &= ~(PIN7_bm|PIN0_bm); PORTA.PIN7CTRL |= PORT_PULLUPEN_bm | PORT_ISC_BOTHEDGES_gc; sei(); [/syntax] Przerwanie:[syntax=c]ISR(PORTA_PORT_vect... { PORTA.INTFLAGS = PIN7_bm; PORTF.OUTSET = PIN0_bm; } [/syntax] Rejestr...
Witam, Jestem poczatkujacy jesli chodzi o programowanie pod architekture Cortex. Posiadam zestaw ewaluacyjny STM32 Butterfly. Probuje skonfigurowac przerwanie, aby wykonało się po naciśnięciu przycisku. Debugujac program widac, ze po nacisnieciu przycisku flagi sa ustawiane, ale funkcja obslugujaca przerwanie nie jest wywolywana. tak wyglada moj kod...
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. Chciałbym prosić o sprawdzenie kodu. Chciałem uzyskać dwie rzeczy mianowicie: 1. Ustawić tak timer by 100 razy na sekunde wystąpiło przerwanie. 2. Ustawić przerwanie zewnętrzne od zbocza opadającego na którymś pinie (np. PE0). Skonfigurowałem tak peryferia: stm32f10x_it.c : [syntax=c]void EXTI0_IRQHandler(void) { static unsigned int i=0; //.....//...
witam Podpiąłem włącznik pod gipo ustawiłem na nim przerwanie i zmienną która je zlicza. jak przycisk trzymam krótko to licznik powiększa się o jeden prawidłowo, przy dłuższym przytrzymaniu przycisku zliczenie ( przerwanie ) występuje na przyciśnięciu i puszczeniu guzika, proszę o pomoc [syntax=c]void Clock_init(void); void GPIO_init(void); void NVIC_init(void);...
https://obrazki.elektroda.pl/2718988000_... Witajcie moi drodzy W tym temacie pokażę jak każdy początkujący może najprościej uruchomić w warunkach amatorskich mikrokontroler PIC32MX795F512H bez potrzeby trawienia/kupowania pod niego konkretnego PCB. Oprócz minimalnego niezbędnego układu pracy tego mikrokontrolera umieszczę tutaj kilka...
Próbuję napisać program obsługujący SPI przy użyciu DMA, poniżej fragment kodu. [syntax=c] unsigned int TAB[256]; unsigned int VirtToPhys(const void* p) { return (int)p<0?((int)p&0x1fffffffL):(un... int)((unsigned char*)p+0x40000000L); } void DMA_Setup(void) { DMACONbits.ON=1; //włączenie modu?u DCH0CONbits.CHPRI=0b11; //kanał 0 priorytet...
Podłącze się bo nie mogę wygrać z ADC, gapie się w kod i już nie mam pojęcia o co chodzi. Cel to automatyczny odczyt z pinów AN6...14, uruchamiany na moje "życzenie". Jedyne co udało mi się osiągnąć to odczyt w pełni automatyczny, ale nie potrzebuje aby ADC goniło za swoim ogonem, w dodatku i tak był problem bo cała struktura była jakby przesunięta...
Witam wszystkich Otóż piszę program na platformie chipKIT max32, na pokładzie z procesorem PIC32mx795f512l. Używam programu MPIDE (klon ArduinoIDE). Chciałem skorzystać z przerwania do obsługi kilku przycisków, jednakże napotkałem problem. Najpierw konfiguruję przerwanie (wydaje mi się, że poprawnie zgodnie z notą). [syntax=c] T1CONCLR = 0x8000; //wylaczenie...
Dzięki za hex załaduje go i dam znać jak działa... Co do środowiska instaluje go na Windows 7 próbowałem na 32bit i na innym komputerze na 64 bit.Oczywiście z uprawnieniami administratora. Instalacja zatrzymuje się na PVUSB not found. Jedyne co można zrobić to ją przerwać. ROZWIĄZANIE... Jeśli ktoś miałby problem ze sterownikami PVUSB należy ściągnąć...
Procesor niestety dostałem w "spadku" ja zastosował bym STM32F4 i też kombinował z FPGA. Niestety z uwagi na czas jaki został do końca pozostaje tylko PIC32MZ... Zdroworozsądkowo to z uwagi na DMA które może teoretycznie przesyłać z zegarem SYSCLK. Właściwie to udało mi się uzyskać 50MHz w układzie PMP -> DMA -> MEM i to jest wystarczające dla tego...
Jest na FT bo właśnie steruję kierunkiem, ale na zwykłym COM to nie jest dla mnie problem no oczywiście z wyjątkiem tego że trzeba dopasować poziomy napięć i ten sygnał RTS/CTS wyprowadzić co w FT232 robi się banalnie bo steruję prosto z układu na SN75176 program nie jest wielowątkowy a jedynie zdefiniowałem zdarzenie na porcie COM, póki co timer wyłączyłem....
A dokładniej rejestr BSRR... I szkoda, że takie rozwiązanie istnieje tylko w STM32. BTW, w LPC11xx istnieje sporo innych paskudztw: - timery ktore mają 4 match'e, ale nie ma oddzielnego rejestru 'końca' (przewijającego licznik) - timer w trybie counter nie obsługuje preskalera... - nie istnieje przerwanie przepełnienia timera, i trzeba wykorzystywać...
(at)JarekC Czy nie za bardzo skupiłeś się na I2S? Weź pod uwagę, że w układach STM32, I2S to tylko tryb pracy modułów SPI. Od kilku lat w wielu układach jest SAI (Serial Audio Interface), który obsługuje więcej formatów, wystawia lub przyjmuje sygnał zegara z zewnątrz, ma dedykowaną PLL i większe FIFO, które w połączeniu z DMA zapewnia bezproblemową...
W celu rozrywkowo-edukacyjnym piszę własny OS na mcu. Nie ma być to kolejny mcu-RTOS bo większość tych przeznaczonych na mcu jest nudne i nie mają np. separacji kernel-user, pamięci wirtualnej, ochrony zasobów, dynamicznego uruchamiania binariów, stronicowania, swapa i innych interesujących od strony dydaktycznej mnie rzeczy. Projekt oparłem o PIC32MZ...
wtedy masz gwarantowany i stały czas odpowiedzi na przerwanie. I o to chodzi w pewnych zastosowaniach. Czyżby NXP kłamał w punkcie, który podawałeś? Tyle, że w realnym świecie "czas odpowiedzi na przerwanie" - to czas od zgłoszenia do wykonania czynności, która jest reakcją na przerwanie - chociażby zaświecenia LED na porcie (zwykle nieco więcej niż...
Mam problem dość niszowy, w niepopularnej tutaj architekturze (pic32mz) ale może ktoś mądry skojarzy z opisu problemu coś z własnego doświadczenia z SDHOST na innym mcu bo SDHOST jest pewnym standardem sprzętowym a jego rejestry (oraz inicjalizacja) są analogiczne bez względu na architekturę. W jednym projekcie potrzebuję napisać driver do SDHOST, posiłkuję...
AVE... Nie musisz umieszczać dodatkowej pętli while(1) w pętli głównej, bo wszystko w pętli głównej będzie wykonywane ciągle. Ustaw przerwanie dla ADC i w pętli obsługi przerwania wartość odczytuj. W ten sposób mikrokontroler może robić inne, interesujące rzeczy czekając na pomiar. Mikrokontrolery z reguły są dużo szybsze od ADC. Co do MPLABX i XC8...
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...
https://obrazki.elektroda.pl/6687159300_... Każdy, kto rozważa przesiadkę z ośmiobitowego mikrokontrolera na coś mocniejszego i o większych możliwościach naraża się na pewien problem, który łatwo przegapić, bo przy ośmiu bitach pojawia się sporadycznie. Ale pomnóżmy liczbę bitów przez dwa, cztery, albo i osiem, i zaczynają się schody....
Mój procek to PIC32MX795. No nic - przyjrzę się jak tutaj sprawa wygląda. W każdym razie dzięki za info w tej sprawie, może uda mi się usprawnić procedurkę karmiącą VS'a :-) Edit: Przyjrzałem się kontrolerowi DMA pod tym względem i wygląda, że czysto sprzętowo się tego nie da zrealizować (albo ja źle myślę). Transfer DMA (event) jest wyzwalany skończoną transmisją...
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...
Witam, mam problem z uruchomieniem komunikacji w trybie Framed SPI pomiędzy urządzeniami jak w temacie. Mój kodek jest masterem. Wczytuje mu po I2C, tryb master, ramka danych wyjściowych 32 bity, tryb danych DSP czyli framed SPI, włączam interfejs, próbkowanie, wszystkie moduły na ON, itd. W PICu32 ustawiam również tryb framed SPI, ramka 32 bity, slave...
Sensowny kurs musiałby być kursem 'live', bo bez przerwy wychodzą nowe wersje IDE, gcc, pluginów do Eclipse, bibliotek, itd, itp....O nowych wersjach procesorów nie wspomnę.... Taki kurs zaraz po napisaniu zaczyna się deaktualizować i za chwilę już nie odpowiada rzeczywistości. Tylko komu się będzie chciało cały czas trzymać gdzieś na stronie najnowszą...
Jak odbierasz a nie znana jest prędkosc transmisji to ustawinie tego zakłada wysłanie przez nadajmik bajtu 0x55, który jest bajtem synchroniujacym. Algorytm jest opisany w nocie an944 Generalnie lepsze karty transmisji szeregowej dostosowuja swoje wewnetrzne układy aby unikac framing errors, ale oczywiście nikt nie da gwarancji ze tak bedzie (wystarczy...
JESLI SZUKASZ INFORMACJI TO NIE CZYTAJ TEGO AKAPITU (; Padla inicjatywa stworzenia zestawu przyklejonych tematow, ktore odpowiadalyby na pytania powtarzajace sie czesto na forum - takie mini kompendium. Wypali to tylko jesli mnie wspomozecie, bo wszystkiego to ja nie wiem, a moje doswiadczenie jest bardzo mizerne. Dlatego prosze was o pomoc w tworzeniu...
stm32 pic32 pic32 timer pic32 projekt
pcmcia sterownik sterowanie klapami nikon obiektywu
parkowanie silnika wycieraczki parkowanie silnika wycieraczki
Bypass zacienionych paneli fotowoltaicznych w stringu – diody, optymalizatory, mikroinwertery Dioda blokująca do paneli fotowoltaicznych z Anglii – cło, VAT, import 2024