Jeśli korzystasz z stm32f4 discovery, to sprawdź czy masz dobrze ustawionego st-linka. Musisz mieć zainstalowany w systemie sterownik do niego, Keil nawet zaktualizuje w nim soft jeśli zajdzie taka potrzeba. Jeżeli chodzi o konfigurację st linka w Keilu, wszystko znajdziesz w dokumentacji u ST na stronie. Nie wiem też czy dobrze się zrozumieliśmy. Debug...
(at)MajsterXXL Wrzuciłem twoje poprawki do swojego szkicu. Niestety nadal mi coś średnio pilot działał. Zacząłem się przyglądać tej funkcji analizy pulsu i wydaje mi się, że brakowało w niej sprawdzenia poprawnie początku ramki. Odbiornik IR czyta kod i wystawia go w sposób zanegowany (wyjście jest typu OC z pociągnięciem 10k pull-up). Ramka zaczyna...
https://obrazki.elektroda.pl/8717321000_... Cena $5 (20zł) dotyczy oczywiście producenta, u nas jeszcze VAT, ale i tak powinniśmy się zmieścić w 30zł. Ale do rzeczy, co się zmieniło w porównaniu do RP2040: 1. Jest teraz do wyboru płytka 7×7mm, QFN60 (RP2350A) z 30 GPIOs lub 10×10mm, QFN80 (RP2350B) z 48 GPIOs 2. 4 MB pamięci QSPI flash,...
Co to dokładnie oznacza? Nie wchodzi do przerwania, nie wychodzi? Masz sprzętowy debuger? (na jakim środowisku procujesz i jaki programator) I może dodaj sobie diodę do debugowania. Albo wykorzystaj LCD do debugowania. Aby dowiedzieć się do którego momentu program dochodzi. Np,wyświetla się napis HOT ON? A tak swoją drogą to co to ma być? while(!(SPR_GORA)...
https://obrazki.elektroda.pl/8747912800_... Arduino PLC IDE pozwala programować urządzenia Portenta Machine Control i Arduino Opta przy użyciu pięciu języków programowania zdefiniowanych przez standard IEC 61131-3: Diagram drabinkowy (schemat połączeń elektrycznych) Diagram bloków funkcyjnych (graficzna reprezentacja funkcji) Tekst...
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...
Różnica może wynikać z użytej wersji kompilatora, albo czy wgrana jest wersja Debug a może Release. Piszę o tym ponieważ natknąłem się na coś niedobrego ze strony kompilatora kompilując ze źródła programu w Microchip Studio. Nie jestem pewien ale wydaje mi się, że znalazłem błąd w kompilatorze avr-gcc w trybie Release z włączoną flagą "-Os". Wyszczególniłem...
Jedno mnie dziwi - nigdy nie miałem takich problemów. To, że timery czy inne peryferia sobie pracują, gdy rdzeń jest halt to nie powinno nikomu przeszkadzać, skoro stepowany rdzen w ogóle nie skacze pod wektory ISRów...? Gdy używam Ride7 to nie mam tego problemu, ale gdy przekroczyłem limit 32kB przesiadłem się na Eclipse+OpenOCD. No i niestety w trakcie...
Panel dotykowy z 6 diodami sterowany po i2c na ATTINY44 Poniższy materiał przedstawia próbę ugryzienia tematu krytycznych zależności czasowych w asemblerze. Zadaniem było stworzenie stabilnie działającej aplikacji która obsłuży: komunikację z procesorem nadrzędnym w trybie slave i2c sterowanie multipleksowanymi diodami z 8bitowa regulacja jasności...
Witam, Jak w temacie, podczas debugowania przez SWD nie działają przerwania. Wersja Openocd 0.9.0 z obsługą SWD od Freddiego. Po sprzętowym resecie bez debugowania przerwania działają. Przez JTAG debugowanie z przerwaniami działa. Skrypt konfiguracyjny Openocd dla SWD: source [find target/swj-dp.tcl] adapter_khz 500 if { [info exists...
Witam, Piszę program na ATtiny13A, aby działał jak licznik mod 4 (piny PB0 i PB1), zmiana wyzwalana zboczem opadającym na PB3. Rozwiązanie opiera się na przerwaniach. PCINT3 to obsługa "przycisku" -> naciśnięcie powoduje uruchomienie timera (ustawienie adekwatnego przerwania). Obsługa przerwania timera zwiększa licznik przepełnień - po ok2 sek wyłącza...
Wiesza się w tym samym miejscu co w moim programie - po włączeniu przerwania NVIC_EnableIRQ. W stosunku do oryginału zmieniłem tylko port GPIO oraz dodałem obsługę TIM3 i mryganie diodą na podstawie TIM3->CNT by wiedzieć czy licznik rzeczywiście działa. W skrypcie linkera ustawiłem oba stosy oraz tak jak sugerowałeś zmniejszyłem pamięć o połowę -...
Środowisko: - LPC2148 na płytce ZL9ARM Kamami - JTAG Freediego - Eclipse Luna - Open On-Chip Debugger 0.8.0 (2014-04-28-08:42) - GNU gdb (GNU Tools for ARM Embedded Processors / bleeding-edge-toolchain-140708) 7.8.50.20140708-cvs - projekt łopatologiczny (Timer0 +miganie diodą) W sytuacji, gdy jednocześnie programuję procka i chcę debugować, po pierwszym...
Hmmm. Wgrałem oryginalny program z Stm32 MassStorage. vectors.c startup.S i .ld o kolegi Freddie Chopin. Mam obecnie dwa przerwania z Usb: USB_HP_CAN1_TX_IRQHandler i USB_LP_CAN1_RX0_IRQHandler ( w vectors.c było bez jedynek kolo CAN ). Zrobiłem takie coś, orginalny program void USB_HP_CAN1_TX_IRQHandler(void) { CTR_HP(); }...
Witam. 1. Czym jest niebieski ekran? Niebieski ekran wyświetla się zawsze wtedy, gdy Windows napotka poważny problem uniemożliwiający kontynuowanie działań systemu operacyjnego.W WindowsXP pojawia się on niezwykle rzadko zwykle wtedy gdy instalowane jest nowe urządzenie, sterownik bądĽ program. Blue Screen of Death (BSOD - z ang. niebieski ekran śmierci)...
wewn kwarc 4Mhz, (fusebit C3, D9). jezyk C. w przerwaniu jest tylko zliczanie czasu. [syntax=c] TCCR0 |= _BV(CS00); TCNT0 = 0; TIMSK|=_BV(TOIE0); ISR(TIMER0_OVF_vect) { przepelnienia++; if(przepelnienia == (15625 ) ) { przepelnienia = 0; sek++; if(sek == 60) { sek = 0; min++; } if(min == 60) { min = 0; godz ++; } if(godz == 24) { godz = 0; } } TCNT0...
Napisałem o przerwaniach bo widzę pewne niebezpieczeństwo. W arduino do debugowania używa się UART. Wysłanie danych do 30 LED trwa 450us. Odbiór jednego znaku przy 115200 to 87us. Jeśli będę chciał wydawać komendy po UART to mogę stracić nawet 3 znaki (w 450us przesłane może być 5 znaków ale AVR ma sprzętowe FIFO na 2 znaki). W praktyce może to oznaczać...
Owszem CooCox pozwala szybko rozpocząć zabawę z ARM-ami, ale ma też swoje wady. Niedawno postanowiłem przetestować to środowisko i szybko zraziła mnie wada serwera GDB, którą openOCD miało w wersjach starszych niż 0.5.0 (ponad 2 lata temu). Brak automatycznego maskowania przerwań podczas debugowania skutecznie utrudnia śledzenie krokowe programu - nadejście...
Witajcie. Mam taki problem. Jest napisany program i działa na uC(także kod jest chyba w pożadku) ale jak chce uruchomić debug przez openOCD to od razu wchodzi mi w: /* DomyĹ›lna procedura obsĹ‚ugi przerwania - nieoczekiwane przerwanie zawiesza mikrokontroler. */ static void Default_Handler(void) { for (;;); } Przypuszczam...
Witam Pobrałem ten projekt z pierwszego postu i zmieniłem jedynie procesor na ATMEGA168. Windows wykrywa jakieś nieznane urządzenie z awarią. Podczas debug symulatorem avrstudio po przyjęciu przerwania INT0 program robi skok pod adres 00000093 gdzie jest rozkaz jmp 00000000 czyli tak jakby reset. Po kompilacji na mega88 w symulatorze (realnie mam tylko...
http://obrazki.elektroda.net/57_12088851... Pokrótce przedstawię pomysł na wykorzystanie przestarzałych komputerów PC, których jak podejrzewam, podobnie do mnie wielu maniaków elektroniki po prostu nie chce wyrzucić. Komputer pracujący pod DOS-em, umożliwia dostęp do pełnych zasobów sprzętowych bez żadnej kontroli systemu operacyjnego, toteż...
Przykład diody1000 dotyczy przerwań programowych Basica i raczej działa jak podprogram bo każde naciśnięcie przycisku w pętli głównej blokuje przerwanie i przez to wszystko chodzi cztery razy wolniej. Ja chce wykorzystać przerwanie sprzętowe ,a bit PEIE ustawiam bo tak pisze w dokumentacji ale czy go ustawie czy wyzeruje to jest tak samo.Sprawdziłem...
Z przerwaniami sobie poradziłem, natomiast w dalszym ciągu zapisywanie/odczytywanie z pamięci FLASH nadal sprawia problem. Przerwanie: static void IrqHandler(void *arg) { i += 1 ; } /* KONIEC OBSLUGI PRZERWANIA */ int main() { DDRD = 0x00 ; // PORTD jako wejscie PORTD = 0xFF ; // podciagniecie wejsc do 1 //EICRA = 0xAA...
Uważam, że aplikację w wersjach debug i release na leży umieścić pod takim samym adresem. To bootloader zrób w dwóch wersjach (debug - release) (albo w jednej wersji ale inteligentniejszy - np sprawdzający jakiej bajty w aplikacji i stwierdzający debugujesz czy tez nie). Jeżeli nie masz jeszcze bootloadera to napisz taki mikrobootloader: W bootloaderze...
Juz wszystko jest ok przerwania działają a program wyglada mniej wiecej tak: int main(void) { __disable_interrupt(); uart0_init(); AT91C_BASE_PIOA->PIO_OER = LED1; //out LED1OFF; //PRZERWANIA PiO: AT91F_PIOA_CfgPMC(); AT91F_PIO_CfgPullup(AT91C_BASE_PIOA, SWM); AT91F_PIO_CfgInput(AT91C_BASE_PIOA,....
napisalem sobie prosciutki programik... standard, czyli miganie LEDami, super efekt swietlny typu Knight Rider [; mniejsza o to. do zabawy wykorzystuje 2 timery - jeden odpowiada za rzeczy typu inkrementowanie / dekrementowanie pozycji lub lekka przerwa miedzy cyklami (zeby wygladalo realistycznie do bolu [; ). drugi robi za PWM softwareowy. i teraz...
Jest tego sporo, DCF77, 7 x DS18B20 i DHT11 ( akurat jeśli chodzi o niego to mam wątpliwości, czy ten kod działa, bo jest na obydwu płytkach podpięty i zdarza się zawieszenie ) Nadajnik Atmega328p Dodano po 16 Odbiornik Atmega644P - trochę zmieniłem obsługę przerwania, wydaje mi się, że w przerwaniu nie powinno się wykonywać dużych obliczeń. [syntax=basic4gl]...
Zaraz zaraz zaraz... To nie jest "bug", tylko wtyczkę GDB Hardware Debugging trzeba sobie ściągnąć - jak jest nie ściągnięta, to jej nie ma, to co ty konfigurujesz to coś zupełnie innego. Please note that there is a known problem with installing the optional GDB Hardware Debugging feature in CDT 7.0.1 (Bug 326176). To install the optional GDB Hardware...
Zależy w sumie o jakim języku programowania rozmawiamy, osobiście sprawdziłem, że się da w asemblerze 2xRS (komunikacja z falownikiem i debug na PC) + podwójna bariera podczerwieni + sterowanie grupowe (synchronizowane z siecią) triakiem + obsługa klawiatury + obsługa LCD znakowego 2x16 i przy tym procesorek jeszcze ma czas na bieżącą konwersję BIN2BCD...
Witam! Nie umiem sobie poradzić z uruchomieniem kodu. Myślę, że temat książkowy. Mam błędy w programie który próbuję uruchomić w celu dalszej edukacji w C. Nie znam jeszcze dokładnie w tym języku wszystkiego, więc zwracam się o pomoc, jeżeli to możliwe, aby uruchomić ten projekt. Dodaję kod i plik z builda. Poprawiłem tytuł, formatowanie postu i pisownię....
Procesor DS89C430, 12 MHz. Witam, mam taką sytuację: -port szeregowy zero 4800b/s dane do PC -port szeregowy jeden 31250b/s odbiór danych midi -przetwornik analogowo/cyfrowy na porci 4001h generowany przebieg piłokształtny w przerwaniu timera zero, w celach debugowania, by sprawdzić czy procesor wykonuje kod. Otóż po załadowaniu programu do pamięci...
Próbuję rozwiązań ten problem już 2 dzień, niestety mało jest jeszcze materiałów na temat tego mikrokontrolera. Chciałbym skonfigurować USART6, tak by odbierać dane z aplikacji napisanej w pythonie na laptopie.Kod funkcji inicjalizacji USART: [syntax=c] /* Pliki nagłówkowe: */ #include <uart.h> /* Zmienne: */ uint8_t cUart6Container[200]; UART_HandleTypeDef...
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...
Próbuję zmodyfikować projekt BASIC USB EXAMPLE Atmela w ten sposób, aby działał on w przerwaniach. Niestety bezskutecznie. Program wchodzi w przerwanie i się w nim zapętla (samo urządzenie jest wykrywane, odbiera i wysyła ramki - debug programem USB TRACE). Po 3 nocach siedzenia nad tym muszę stwierdzić, że nie wiem jak to zrobić, może ktoś ma jakiś...
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....
Program zachowuje się gdyby chciał a nie mógł skorzystać z SysTick_Handler. Najpierw kod: http://obrazki.elektroda.pl/6717645500_1... Przy zmniejszeniu ilości taktów na przerwanie w systicku i debugowaniu po kroku przerwanie w ogóle nie występuje. A gdy przy w/w kodzie ma być wywołane przerwane (via step to line) program wiesza się w...
Ok, coś jest nie tak. Przede wszystkim systick działa na trybie optymalizacji O1 i O2. Bez zmiany kodu. Na O0 od razu jest hard fault. Ale nie występuje na żadnej linijce kodu. Nie wchodzi do przerwania i wywala od razu błąd. EDIT: Działa w momencie kiedy wywaliłem inicjalizacje: N VIC_Init(&NVIC_InitStructure); A w to miejsce dałem: NVIC->ISER...
Witam znalazlem w pliku pomocy takie cos - przyznam sie ze mnie to zainteresowalo :) '---------------------------------------... ' SMTP.BAS ' (c) 2003 MCS Electronics ' Przykład pokazuje jak wysłać e-mail za pomocą protokołu SMTP '---------------------------------------... $regfile = "m161def.dat" ' użyty...
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ć....
https://obrazki.elektroda.pl/9479576500_... W ostatnich latach byliśmy świadkami licznych fuzji na rynku elektroniki. O ile dla młodszych inżynierów wydarzenia te często nie wiążą się z żadnymi emocjami, to bardziej doświadczeni elektronicy nierzadko martwią się o konkurencję na rynku oraz o los technologii i rodzin produktów, które były...
Oto i źródło, może Wy zauważycie coś dziwnego... [syntax=c] // PINY WEJŚCIOWE #define ZIELONA PIND5 #define CZERWONA PIND6 #define DEBUG_PORT PORTD #define DEBUG_DDR DDRD #define ZOLTA PIND3 #define KL_PORT PORTC #define KL_PIN PINC #define KL_DDR DDRC #define LEWO PINC0 #define DOL PINC1 #define PRAWO PINC2 #define GORA PINC3 #define LEWY PINC4 #define...
[syntax=c] #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdio.h> #include <math.h> #define adc #define VREF 5.05 #define ADCIN PA0 #define FOSC 1843200// Clock Speed #define BAUD 9600 #define MYUBRR FOSC/16/BAUD-1 volatile unsigned int usart_bufor_ind; //indeks...
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, w poniższym programie występują niepożądane resety, sprawdzałem już wartość rejestru MCUCSR i tuż po resecie ma wartość 0 czyli jest to reset programowy. zorientowałem się, że źródłem jest wywołanie instrukcji odpowiadającej za przerwanie komparatora analogowego (w oknie disassembly adres 0x00000020), które jest wyłączone... nie wiem co powoduje...
Hej Freddie, tym razem to już mam poważny problem i proszę Cię o pomoc. Problem mam cały czas z przerwaniami. Nigdy mi w sumie tak naprawde nie zadziałaly na tym projekcie od stm. Przerobiłem Twoją tablice wektorów przerwań: /** \file vectors.c * \brief STM32 (STM32F101 - STM32F103) vector table and __Default_Handler() * \details STM32...
Witam! Wrzucilem FreeRTOS v6.0.2 z ST Firmware v3.1.2 na te plytke. Uzywam IDE CrossWorks z ich standardowymi bibliotekami na ARMv7M w trybie THUMB little-endian. Kompilator pochodzi z IDE i jest to GCC v4.4.2. Nie dziala mi poprawnie komunikacja z karta inteligentnej. Karta pracuje w trybie T0, wiec Half-Duplex. Skonfigurowalem przerwania do USART3...
Witam! Timer generuje przerwanie periodyczne. W procedurze obsługi testowo chciałem przełączać stan na jednej z linii portu GPIO (prymitywny debug na LED), ale... okazało się, że nie działa. W pierwszej chwili szukałem błędów w inicjalizacji timera, ale później się okazało, że przerwania się generują, tylko ja tego nie widzę, bo nie wykonuje się przełączenie...
Witam, czy pomógłby mi ktoś pomóc analizując poniższy program? Chcę aby dokonywał się odczyt napięcia z termopary. Niestety tak się nie dzieje. Przedstawiam w kodzie inicjalizację przetwornika, funkcję która ma odbywać się podczas przerwania oraz FRAGMENT int main(). ISR(TIMER0_OVF_vect) { uint16_t x,y; napiecie = ADCH; // czytaj wartość...
Witam Mój problem zaczął się prawie miesiąc temu, czy to przypadek, czy zrządzenie losu, po wyłączeniu komputera z sieci przed burzą na następny dzień już nie zagadał... Zgłosił się komunikatem BIOS ROM CHECKSUM ERROR... :cry: Po 158 próbie uruchomienia systemu (włącznie z dyskietką startową z nowym BIOSEM i wymianą bateryjki BIOSu na nową), udało się...
Jeżeli tutaj: MSR cpsr_c,#(IRQ_MODE | NO_INT) /* IRQ mode, both IRQ/FIQ disabled */ MOV sp,r0 /* copy sp_SYS to sp_IRQ */ 0xFFFFFF00 LDR r0,[sp,#(7*4)] /* load the saved SPSR from the stack */ MSR spsr_cxsf,r0 /* copy it into spsr_IRQ */ to trochę będzie różnica ;p Ale kompilator na pewno nie jest taki głupi. Niestety zła wiadomość...
Witam, Jestem początkujący jeśli chodzi o programowanie ARM wiec proszę o wyrozumiałość. Mam problem z procesorem LPC 1768, konkretnie jest to płytka Mini DK-2. Od pewnego czasu walczę z problemami w przerwaniach i nie mogę sobie poradzić. Przewertowałem setki tematów na forach polskich i zagranicznych, być może źle szukałem, wiec każda wskazówka i...
gniazdo debug debug zablokował konsola debug
dyplom elektryka mercedes impulsator panasonic świecić czerwona dioda
Beko Air Conditioner Interface: Remote, Display, Wi-Fi, Error Codes, and Troubleshooting Claas Dominator 86 – świecące kontrolki i sygnał w kabinie, diagnostyka instalacji elektrycznej