Nom, sory, działam na stm32F103c8t6 Dodano po 2 Ok, "The external interrupt/event function is not remapped. PD0 and PD1 cannot be used for external interrupt/event generation on 36-, 48- and 64-pin packages." Wszystko jasne, dzięki ;)
a jak zatem rozumieć priorytety przerwań związane ze slotami? Nie jestem biegły w ARM7, powtórzę, ale polegam tu na tej publikacji: http://engenuics.com/wp-content/uploads/... a szczególnie na tym fragmencie: 4. On the LPC214x processors, two hardware priority groups are available. The high priority interrupt is referred to as...
To co kolega proponuje to prawdopodobnie wykorzystanie przerwań zewnętrznych i start/stop Timera w przerwaniu. A jak inaczej chcesz liczyć czas trwania "impulsu". Przecież najpierw trzeba go jakoś wprowadzić do MCU, prawda? Reszta będzie realizowana w sposób banalny: Przy pierwszym impulsie - start timera, przy drugim - odczyt jego stanu - i obliczenie...
Przerwania RTC są podpięte przez EXTI - trzeba się upewnić, że są "odmaskowane" w rejestrze EXTI_IMR i mają włączoną detekcję narastającego zbocza w EXTI_RTSR. 21.6 RTC interrupts All RTC interrupts are connected to the EXTI controller. Refer to . To enable RTC interrupt(s), the following sequence is required: 1. Configure and enable the EXTI line(s)...
Witaj tadzik85 , może to wynika z tego, że przechodzę z AVR tam włączało się globalnie przerwania i tyle w temacie. Zresztą tak mi się wydaje, jest idea przerwań by działały niezależnie od głównego programu. Jeśli chodzi o Twój kod, nie mam takiego bitu IER dla USARTa mam 14.3.5 Software interrupt event register (EXTI_SWIER1) a w nim bity SWIER1-31...
Ale jak to, skoro EXTICR[1] obsługuje EXTIx i PAx,...,PGx w zakresie x=0...3 ? Czy się mylę? EXTIx[3:0]: EXTI x configuration (x= 0 to 3) These bits are written by software to select the source input for EXTIx external interrupt. Refer to Section 10.2.5: External interrupt/event line mapping on page 200 0000: PA[x] pin 0001: PB[x] pin 0010: PC[x] pin...
taaakk... w temacie o PICu koles na pewno pytal jak to zrobic oscyloskopem... anyway: poczytaj w dokumentacji o input capture - jest to uklad stworzony do tego wlasnie celu. daje ci on przerwania. dodatkowo w rozdziale Family Reference Manual poswieconym temu wlasnie ukladowi masz przyklad mierzenia okresu przebiegu: 12.5.1 Code Example for Period Measurement...
If both ADATE and ADEN is written to one, an interrupt event can occur at any time. If the ADMUX Register is changed in this period, the user cannot tell if the next conversion is based on the old or the new settings. ADMUX can be safely updated in the following ways: 1. When ADATE or ADEN is cleared. 2. During conversion, minimum one ADC clock cycle...
OK, rozumie Twoje intencje i z chęcią pomogę, bo minimalizowanie poboru energii to mój "bzik" :) Jednakże zacząłbym od tego, że przy takim zasilaniu gdy ustawisz ten mikrokontroler na kwarcu 32kHz , to zużywać będzie zaledwie 20 μA przy 3V i niewiele więcej przy 5V. Czy to nie wystarczy? Większe straty masz na samym zasilaczu. Co do usypiania -...
Tak. Wrzuciłem IE gdzieś na początku programu. W EVENT utworzyłem trzy programy w których robię MOV kolejno 1, 2 lub 3 do zmiennej AKTUALNA. W ustawieniach sterownika dla X15,16,17 ustawiłem INTERRUPT RISING W program settings ustawiłem dla eventów "execution type: Interrupt: I15, Interrupt: I16, Interrupt: I17 Obecnie po wyzwoleniu wejścia "tak jakby"...
Co ciekawe mam pewne wątpliwości odnośnie dokumentacji. Timer TB0 uruchamiam w domyślnym trybie Periodic Interrupt mode, gdzie TOP określam wartością rejestru CCMP = 26666, co przy częstotliwości taktowania timera równej domyślnej częstotliwości taktowania mikrokontrolera 2.66MHz powinno dać przerwanie co ok. 10ms (100Hz). Co ciekawe jedynym przerwaniem...
Mam problem ze sterownikiem Siemens S7-300. Po odłączeniu urządzenia na sieci Profibus DP sterownik przechodzi w STOP. Pamiętam, że kiedyś dodawało się jakieś bloczki aby sterownik nie przechodził w STOP Poniżej zamieszczam loga i projekt TIA Portal 15 ze sterownika spakowany zipem. Czy ktoś może mi pomóc w rozwiązaniu problemu? Diagnostics buffer of...
Prosty program na AVRStudio : #include <m16def.inc> ; Prohibits use of non-implemented instructions (ATmega16) .dseg .org SRAM_START .cseg ;—————R...
Sporo się namęczyłem, zanim ruszył mi slave transmitter w STM32F103. W 107 będzie tak samo. Po pierwsze zobacz do errat - tam między innymi napisali, że przerwanie i2c musi mieć najwyższy priorytet, bo inaczej się wiesza. Poza tym przykłady nie zadziałały mi od razu, a problemy mają też inni, o czym możesz poczytać na main.c // main.c main()...
Jeżeli możesz je dowolnie programować, to korzystając z erraty dość szybko rozróżnisz układy. Xmega128A1U: 1. Register ANAINIT in MCUR will always read as zero. 2. RTC clock output option is non-functional. Xmega128A1: 1. ADC Event on compare match non-functional. 2. Low level interrupt triggered when pin input is disabled. Jeżeli w ten sposób nie możesz...
Witam, nie potrafię doczytać co mam zrobić jak chcę wykorzystać ficzer masked access na procku LPC1112. Plik .h do tego procka definiuje to: typedef struct { union { __IO uint32_t MASKED_ACCESS[4096]; /*!< Offset: 0x0000 to 0x3FFC Port data Register for pins PIOn_0 to PIOn_11 (R/W) */ struct { uint32_t RESERVED0[4095];...
POWERSAVE (ATMEGA88) This mode is identical to Power-down, with one exception: If Timer/Counter2 is enabled, it will keep running during sleep. The device can wake up from either Timer Overflow or Output Compare event from Timer/Counter2 if the corresponding Timer/Counter2 interrupt enable bits are set in TIMSK2, and the Global Interrupt Enable bit...
Tablice wektorów mam z przykładów ze strony [url=http://www.freddiechopin.info/]http... Nic w niej nie zmieniałem i wersja 6.1.1 działa dobrze a 7.1.0 wiadomo Tak wygląda tablica wektorów: [syntax=cpp]void (* const vectors[])(void) __attribute__ ((section(".vectors"))) = { (void (*)(void))&__main_stack_end,// Main stack end address...
Kody umieszczę, jak ich uporządkuje. Tymczasem ogarniam "zero crossing" W związku z tym, nowe problemy. Bo nie bardzo mam z tym doświadczenia. https://obrazki.elektroda.pl/6359953600_... Ale o co ty się martwisz? Ten kod "sam" sie synchronizuje z sygnałem wejściowym: https://obrazki.elektroda.pl/6791176900_... https://obrazki.elektroda.pl/9182647000_...
Mam wrażenie, że wykryłem błąd w pliku cr_startup_lpc43xx-m0app.c - w definicji wektora przerwań jest: [syntax=c] M0_TIMER3_IRQHandler, // 30 Timer3 0, // 31 Reserved 0 , // 32 Reserved M0_MCPWM_IRQHandler, // 33 Motor Control PWM M0_ADC0_IRQHandler, // 34 ADC0 M0_I2C0_OR_I2C1_IRQHandler, // 35 I2C0 or I2C1 M0_SGPIO_IRQHandler, // 36 Serial GPIO M0_SPI_OR_DAC_IRQHandler,...
Mniej więcej wiem o co chodzi. Trochę poćwiczyłem i to co mi potrzebne zrozumiałem. wpadłem na coś ciekawego, ale tak się długo zastanawiałem czy o to pytać. Ale może komuś też się przyda. Natrafiłem na błędy z instrukcją WFE. Od razu mówię że pytam raczej jako ciekawostkę i ciekawą właściwość rdzenia ni z coś do wykorzystania. W erratach jest coś takiego...
Zajrzyj do biblioteki, CAN_GetFlagStatus() ma tylko: This parameter can be: CAN_FLAG_EWG, CAN_FLAG_EPV or CAN_FLAG_BOF. Gdzie tam jest CAN_RF0R_FMP0? Nawet funkcję CAN_GetITStatus() wywołujesz z wartością CAN1,CAN_IT_FMP0. Nie wiem czy przez to się wiesza, najpierw się skupiłem na prawidłowym odbiorze. Poza tym FMP0 to event, nie interrupt. w CAN_GetITStatus...
Witam! ATCH - Blok funkcyjny łączący określony numer zdarzenia "EVENT" z wybranym numerem przerwania "INT". Operacja zostanie wykonana, gdy do wejścia "EN" podany zostanie sygnał. W momencie, w którym warunki określone numerem zdarzenia są spełnione zostanie automatycznie rozpoczęty proces wykonania fragmentu programu, któremu zosta! przydzielony numer...
Miałem kiedyś podobne problemy i może chodzić o kasowanie flagi przerwania. Ja w Atmega8 po prostu kasowałem tę flagę przez wpisanie 1 do całego rejestru na końcu przerwania i problem zniknął: GIFR=0xff; niestety problem nadal sie pojawia.. Można prosić o szerszy komentarz? w katalogu znalazłem coś na temat rejestru GIFR i bicie INTF0 "Bit 6 –...
(1 << 27) Tego nie będę rozszyfrowywał. I przy okazji nie mieszaj kodu HAL-a z rejestrami - w tch samych funkcjach - no chyba że dokładnie wiesz co te halowe robią na poziomie rejestrów (ja np poza kilkoma nie wiem i nie chce mi się grzebać) Procedurę masz opisaną w RM Reception using DMA DMA mode can be enabled for reception by setting the DMAR...
Jakby ktoś kiedyś potrzebował, to wrzucam działającą konfigurację rejestrów dla licznika TC0. *TC_BMR = 0x00000001; *TC_CCR0= 0x00000002; // disable clock *TC_IDR0 = 0xFFFFFFFF; // disable clock interrupt *TC_CMR0= 0x00004002; // 4 - The external event resets the counter and starts the counter clock. // 2- clock selection *TC_CCR0= 0x00000001; // enable...
Witam ponownie. Mam jeszcze pytanie. Ponieważ chciałem dodać obsługę: ETH_WKUP_IRQHandler i ETH_IRQn. Więc w pliku vaectors.c dodałem takie linijki: [syntax=c] // ETH Ethernet global Interrupt void ETH_IRQHandler(void) __attribute__ ((interrupt, weak, alias("__Default_Handler"))); // ETH_WKUP Ethernet Wakeup through EXTI line Interrupt void ETH_WKUP_IRQHandler(void)...
Witam !!!! To kawałek karty katalogowej scalaczka, o który pytasz: ////////////////////////////////////////... 7.9 Interrupt output The conditions for activating the open-drain n-channel interrupt output INT (active LOW) are determined by appropriate programming of the alarm control register. These conditions are clock alarm, timer...
Witam, Mam taki problem: Chciałbym wywoływać przerwanie za każdym razem kiedy nastąpi zmiana TCNT1 (timer 1 skonfigurowany na zliczanie impulsów zewnętrznych z wejścia T1 Mikrokontrolera). Timer działa poprawnie gdyz w konsoli z rsa widze jak wzrasta TCNT1 (tylko jezeli jest to printowane do konsoli z pętli głównej, a chciałbym to zrobić przerwaniem...
Witam. To znowu ja z kolejnym urządzeniem. Jest to 1-kanałowy inteligentny przełącznik ściemniacza Avatto DMS16-W1 z CBU rozmawiający z MCU Puya PY32F002A (TSSOP-20). https://obrazki.elektroda.pl/5535706100_... https://obrazki.elektroda.pl/3162350000_... https://obrazki.elektroda.pl/6555860800_... https://obrazki.elektroda.pl/4466273200_...
Oczywiscie tak. Dodam ze uzywam programu System Workbench [syntax=c] /** ****************************************... * (at)file startup_stm32.s dedicated to STM32F103C8Tx device * (at)author Ac6 * (at)version V1.0.0 * (at)date 2018-04-06 ****************************************...
Witam mam podobny błąd, po zerwanej komunikacji(wypięci wtyczki profibus lub resecie mastera należy zresetować slave, bo inaczej jest w stopie. Jak wgrać(z kąd) blok 82 do slave? << należy przegrać z mastera Module Information - CPU 315-2 DP "Diagnostic Buffer" Tab Event 1 of 113: Event ID 16# 3842 Module OK Module type: Distributed I/O slave...
Żeby wiedzieć czy przycisk jest przytrzymany musisz testować toggle bit http://obrazki.elektroda.pl/7180962700_1... Ciężko Ci będzie napisać program do rozpoznawania standardów nadawania IR, jest ich naprawdę dużo. Lepszym pomysłem byłoby napisanie programu na uC który przekazywałby do komputera (np. przez UART) czasy trwania bitów przerw,...
Włączasz ADATE. Ustawiasz SFIOR=0; Co daje taki efekt: "Switching to Free Running mode (ADTS[2:0]=0) will not cause a trigger event, even if the ADC Interrupt Flag is set." Wyrzuć ADATE, nic nie ustawiaj w SFIOR. Ustaw prescaler do ADC- to jest zupełnie inny prescaler niż do Timerów. W zależności od zegara- ADPS1, ADPS2, ADPS3. W ogóle nic nie ustawiaj...
Pozwoliłem sobie uczytelnić kod dla pokazania jak można sobie ułatwić pisanie kodu - zmieniamy w jednym miejscu, a zmiany są uwzględniane w całym kodzie... Daje to bezbolesną możliwość dowolnego przepięcia linii sygnałowych pod inne wyprowadzenia µC przy minimalnych zmianach w kodzie (podobnie jak w językach wyższego poziomu). #include <m16def.inc>...
Jeśli jak piszesz, umiesz analizować kod to pokarz mi gdzie tu jest sedno problemu w moim kodzie. To jest kod z twojego linka:[syntax=c]void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry) { uint32_t tmpreg = 0; /* Check the parameters */ assert_param(IS_PWR_REGULATOR(PWR_Regula... assert_param(IS_PWR_STOP_ENTRY(PWR_STOPE...
Witam, Bazuje na projekcie ze strony Freddie Chopin dla stma F4 z dodanymi bibliotekami STM32F4xx_StdPeriph_Driver. Zdefiniowałem sobie konfigurację timer'a w następujący sposób: [syntax=c]void Timers_Config(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TI... ENABLE); NVIC_InitTypeDef NVIC_InitStruct; NVIC_InitStruct.NVIC_IRQChannel = TIM1_CC_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptio...
Dodam moj przepis na ładną tablicę wektorów (przykład dotyczy ATtiny2313) : .cseg ;—————R...
GPIOA->BSRR |= GPIO_BSRR_BS5; To nie źródło problemu ale tak się tego rejestru nie używa. To jest write only rejestr czyli tylko samo przypisanie Zgadza się, dzięki :) Co do głównego problemu, punkt 1. Użyj debugera okazał się bardzo pomocny :) Założyłem, że skopałem coś w Makefile (np. brakuje jakiejś flagi) i podczas debugowania nic ciekawego...
Dziękuję, o takie coś mi chodziło :) Napisałem wobec tego takie funkcje: [syntax=c]uint16_t pRegulator(uint16_t output, uint8_t actualValue, uint8_t desired_value, uint8_t kp) { int error = desired_value - actualValue; output += kp*error; return output; } void setActualValue(uint8_t evsysValue, uint8_t *actualValue) { *actualValue = evsysValue; } //...
Witam. Posiadam w pewnej maszynie sterownik PLC Simatic z CPU 6ES7 315-2AF03-0AB0 Steruje on jako master po Profibus DP rozproszonymi wejściami i wyjściami rozrzuconymi po całej maszynie. W ostatnim czasie zaszła potrzeba skomunikowania tego sterownika z inną maszyną (ze sterownikiem GE VersaMax na pokładzie i z modułem komunikacyjnym Profibus Master)...
Powinieneś poza tym w obsłudze przerwania kasować flagę przerwania ... Nie, ponieważ kasowana jest automatycznie: When an event on the INT1 pin triggers an interrupt request, INTF1 becomes set (one). If the Ibit in SREG and the INT1 bit in GICR are set (one), the MCU will jump to the corresponding Interrupt Vector. The flag is cleared when the interrupt...
Dokładnie to, co widzisz, czyli NIC. Dziwne pytania zadajesz, w stylu "dlaczego ten program miga czerwoną diodą, a zieloną - nie? Po prostu ktoś tak go napisał i taki jest. Widać były plany na coś więcej, ale nie zostały zrealizowane. Usiądź i napisz program, który robi to, ci Ty chcesz, zamiast zastanawiać się, dlaczego ktoś czegoś nie napisał. Ale...
Panowie, a możecie mi jeszcze podpowiedzieć co robię źle w programie niżej? Otóż, chodzi mi o to, aby uruchomić timet TCC0, aby chodził sobie w kółko, a nastepnie podając na PIND6 abym zatrzaskiwał wartość tego timera i go wyświetlic potem. Timer skonfigurowałem tak: [syntax=c] TCC0.CTRLB = (1<<TC0_CCAEN_bp) | TC_WGMODE_NORMAL_gc; TCE0.CTRLA =...
Zmodyfikowałem troche kod, teraz mierze czas pomiędzy poszczególnymi sygnałami (wyniki powinny być dokładniejsze) Prosiłbym o wskazówki co można wyżucić z przerwań by przyspieszyć ich wykonywanie? [syntax=c] //read RPM PCINT by Asica10 //-----Define variable for measure RPM----- volatile unsigned long timeLast_1 = 0; volatile unsigned long timeLast_2...
Coś takiego znalazłem. Co prawda na Atiny ale można przerobić. [syntax=c]// // Talking to ultrasonic sensor HC-SR04 with an ATtiny84, and // sending distance data using serial communications. // // electronut.in // #include <avr/io.h> #include <string.h> #include <util/delay.h> #include <avr/interrupt.h> #define F_CPU 8000000...
FEIFx: Stream x FIFO error interrupt flag (x=3..0) This bit is set by hardware. It is cleared by software writing 1 to the corresponding bit in the DMA_LIFCR register. 0: No FIFO Error event on stream x 1: A FIFO Error event occurred on stream x
Nie wiem czy też prawidłowe to jest że na module enc28j60 pali się cały czas czerwona dioda. Ja też nie wiem, bo nie wiem co znaczy "czerwona dioda". Jeśli to dioda sygnalizująca połączenie (link) - to poprawnie. Powinna być normalnie zgaszona i zapalać się po włożeniu kabla podpiętego do switch'a. Tyle, że bez schematu i bez konfiguracji z plików...
Witam, Próbuję wymusić na STMie aby konwersja w jego zintegrowanym przetworniku ADC wyzwalana była przez CC2 od timera 2. Inicjalizacja odpowiednich peryferiów jak poniżej nie powoduje zadziałania całości. void ADC1_Init(void){ /*APB2 buses clock for ADC enable with prescaler 8*/ RCC->APB2ENR|=RCC_APB2ENR_ADC1EN; RCC->CFGR|=RCC_CFGR_ADCPRE_DIV8;...
Zmieniłem na inny router i jest lepiej, nadal są mikro lagi , ale dużo rzadziej, po wifi było tak samo. Interesują mnie te wyniki z latency moon : [syntax=text]Highest measured interrupt to process latency (µs): 12148,255845 Highest measured interrupt to DPC latency (µs): 439,165713 Highest ISR routine execution time (µs): 85,964912 Driver...
A oto prosta funkcja (kompiluje się w najnowszym AVRStudio) :D : #include <ATmega8535.h> .include "m8535def.inc" ; Prohibits use of non-implemented instructions (ATmega8535) #define XTAL 11059200 #define USART_BAUD 19200 #define _UBBR(_X,_X_BAUD) ((_X/(16*_X_BAUD))-1... #message "_UBBR =="...
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...
Chciałbym zapytać zatem na jakiej podstawie twierdzisz że tylko reset powoduje ustawienie wartości domyślnych portów I/O. To że reset to pewne ale może coś jeszcze... ? Chyba jednak będę musiał wykonać test... W dokumentacji w każdym rejestrze są podane wartości inicjujące "Init value" dla poszczególnych bitów. Wartości inicjujące oznaczają wartości...
przecież wejście (wyjście komparatora) jest w stanie H tylko przez jakiś okres, Niekoniecznie. http://obrazki.elektroda.pl/8053072700_1... Przypadek A) to prawidłowa praca układu. Ale w przypadku B) występuje current runaway z powodu zwarcia/zbyt wysokiego napięcia/innego błędu, trafo wchodzi w CCM i jeszcze w tym samym cyklu wystąpią...
(at)Bartek00.92 Wykonaj skanowanie MBAM oraz ADWcleaner i usuń wszystko co wykryją Powyższe wykryło około 5 plików, wszystkie usunąłem, nie pomogło. Biorę się za http://www.resplendence.com/latencymon sprawdz jeszcze tym jakie usługi/procesy powoduja najwieksze spajki Dodano po 13 ________________________________________...
Witam Mam od jakiegoś czasu poważny problem z DPC latency. Próbowałem już wszystkiego od zmian ustawień zasilania, reinstalację sterowników aż po format dysku jednak bez widocznych sukcesów. Wyniki z LatencyMon: ________________________________________... CONCLUSION ________________________________________...
CCS to bit 0. Zapalony bit to Bit 8 Port Power. Złapać się nie da ponieważ jest to sprzętowy kontroler i po wpięciu pena dostaje przerwanie void USB_IRQHandler (void) { USB_INT32U int_status; USB_INT32U ie_status; int_status = LPC_USB->HcInterruptStatus; /* Read Interrupt Status */ ie_status = LPC_USB->HcInterruptEnable; /* Read Interrupt...
Tutorial do avr taki znalazłem: http://avr.elektroda.eu/?q=node/8 Jak byś czegoś w sieci szukał, to raczej unikaj tutoriala z patron.net, uczy złych nawyków i jest nieco nie na czasie. Pomiar częstotliwośći na AVR realizuje się w miarę łatwo, przy wykorzystaniu timerów, jeden timer pracuje jako licznik impulsów z zewnątrz, a drugi odmierza czas, mozna...
Witam od jakiegoś tygodnia męczę się z drop fpsami we wszystkich grach zauważyłem też że gdy mam spadki i wyłączę-włączę komputer to przez jakiś czas tych spadków nie ma lecz czym dłużej komputer chodzi to jest gorzej, zrobiłem test LatencyMonem i mam nadzieję że ktoś będzie wiedział jak pomóc, Próbowałem reinstall systemu, zaktualizowanie najnowszych...
Ok, a możesz rzucić okiem co tu jest nie tak, albo ktos kto ogarnia bascoma? Dodano po 1 To podstawowy przykład ze strony mcs, i nie działa chyba, żadnej częstotliwości nie widzę. Mam wrażenie że to całe DMA nie działa. http://www.mcselec.com/index2.php?option... Dodano po 3 Wykazuje mi rejestr że jest error flag...
Witam, zastanawiam się czy bibliotekę do obsługi peryferii można oprzeć na bitbandingu. Osobiście nie widzę sposobu, żeby ujednolicić pisanie takich funkcji, ale może ktoś wie jak można to wykorzystać lub czy jest to rzeczywiście mało sensowne. Przykładowo do obsługi EXTI wykorzystałem bitbanding w następujący sposób: [syntax=c] typedef struct { __IO...
Używam Twojej kompilacji 050. A potwierdzenie domysłu że coś pozostaje po resecie zaskoczyło mnie ;) Ale ja wgrywam właściwie to samo, bez zmian. No nie ważne. Skrypt (same ewenty, bez konfiga adaptera) : #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~... # WGRANIE SOFTU #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...
Już działa:) Jeżeli chodzi o same ustawienia i inicjalizację Timera0 oraz przerwań to okazało się tak jak mi się wydawało że wszystko miałem dobrze. Jak zwykle w takich przypadkach błąd okazał się błahy i leżał w zupełnie innym miejscu. Otóż przy definiowaniu wektorów przerwań nie używałem definiowania ".org". Początek mojego programu wyglądał tak:...
Proszę: /***************************************... ****************************************... static void I2C_Slave_Initialise(u8_t I2C_ownAddress) { TWAR = I2C_ownAddress; // set own I2C slave address TWAMR = MASK_ADDRESS; //<<I2C_ADR_BITS; // I2C Interface...
Dziękuję Wam, naprowadziliście mnie, ale mimo wszystko nie mogę czegoś załapać. W iox16a4u.h jest : /* 16-bit Timer/Counter 0 */ typedef struct TC0_struct { register8_t CTRLA; /* Control Register A */ register8_t CTRLB; /* Control Register B */ register8_t CTRLC; /* Control register C */ register8_t CTRLD; /* Control Register D */ register8_t CTRLE;...
Cześć, Moje pytanie jest dosyć trywialne, dlatego niestety nikt w internecie nie rozpisał tego, ponieważ pewnie jest to oczywiste. Ogólnie przechodziłam przez różne fazy tego co chciałam zrobić. Nie mam sprzętu a musze wiedzieć czy działa dobrze I2C :( Ogólnie chciałabym skomunikować czujnik światła z przetwornikiem mikrokontrolera PIC24F za pomocą...
A od kiedy to AT90S2313 posiada w zestawie instrukcję MOVW ? Może warto zainteresować się listą rozkazów i czytać nawet to co napisano drobnym drukiem. This instruction is not available in all devices. Refer to the device specific instruction set summary. Drugie zadanie to lektura noty katalogowej: Table 2. Reset and Interrupt Vectors 1 $000 RESET Hardware...
Ok poradziłem sobie tylko teraz wyskoczył mi inny problem , a mianowicie nie wiem dlaczego nie mogę korzystać z funkcji LINI i Boxfill wyświetlacz szaleje :-) a chciałbym wykorzystać te dwie funkcje w programie poniżej kod programu [syntax=basic4gl] '***************************************... '* Code to test DS18x20 '* The 1-wire bus pin is Port...
Witam. Od kilku dni próbuję obsłużyć RTC na procesorze STM32F051R8, dokładnie na płytce DTM32F0 discovery. O ile zegar działa w miarę dobrze, to mam problem z utrzymaniem zegara podczas zasilania z baterii (VBAT). Rejestry się zachowują, ale zegar nie działa. Po ponownym włączeniu zasilania jest zapisana godzina w której zostało ono wyłączone. Kod,...
Witam Poniżej kod programu, który muszę zmodyfikować, by umożliwić ustawienie za pomocą dwóch przycisków (port1) aktualnego czasu wyświetlanego zegara. Proszę o wskazówki. Z góry dzięki ! //**************************************... // MSP430FG4618 Experimenter's Board Real Time Clock in Low-power mode // // MSP430FG4618...
Dzień dobry, Na początek postaram się nakreślić jak wygląda sytuacja: więc mam takie połączenie: http://obrazki.elektroda.net/81_12846372... Postępuje zgodnie z tą instrukcja firmy Siemens : http://www.automatyka.siemens.pl/docs/do... i wszystko przebiega zgodnie z tą instrukcją i wszystko...
No i wszystko. Panowie, popełniłem błąd bo założyłem błędnie ten właśnie czas, nie wiem skąd mi się to w głowie pojawiło, przepraszam. Natomiast dzięki Waszym wyjaśnieniom i oscyloskopowi który służy mi nie od dziś, doszedłem do wszystkiego co aktualnie dla mnie istotne. Dziękuję za wyjaśnienia. Aktualnie z AtTiny85 wyciskam ile się da, i proszę mi...
Witam, pisze program w assemblerze który pozwarciu INT0, będzie wykonywać określoną czynność(łączyć się z innym urządzeniem), Ale narazie utknąłem w martwym punkcie, napisałem program który po zwarciu INT0 wywołuje przerwanie które zapala diodę podpiętą do lini PC0 5 razy i gasi(zapalenie uzyskuje poprzez ustawienie PC0 w stan wysoki). Całość funkcjonuje...
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....
Ok, doszukałem się, jest to TIMx Update Interrupt. Tyle, że Update Event nie jest generowany przy każdej zmianie CNT w trybie Encoder. Czyli jeśli dobrze rozumiem, np. Channel 5, Stream 4 może być wyzwolony poprzez TIM3_CH1 lub/oraz (?) TIM3_TRIG. TIM3_CH1 oznacza, że np. Output Compare zostanie wyzwolony DMA. Może mógłbym skonfigurować np. aby zbocze...
Mam dwa foldery, każdy od innej wersji avr i w każdym jest inny interrupt.h. Da się jakoś sprawdzić, który avr używa podczas kompilacji? /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:...
Przepraszam za swą upierdliwość , czy możesz podać mi przykład? Zmienna "temp" klasa termometr ma być widoczna w klasie interfejs. Z góry dzięki!! Dodano po 6 tu jest klasa termometr: package myPackage; import gnu.io.*; import java.io.*; import java.util.*; //import javax.comm.*; public class termometr implements Runnable, SerialPortEventListener {...
Kod wygląda tak jak sugerujesz, najpierw właczam wszystko w SPI, potem strumienie. Obsługę przerwań pomijam, tam nic się nie zmieniło, tylko czyszczę flagi i macham pinami testowymi. [syntax=c]//////////////////////////////... // odczytuje pamięć przez DMA // Parametry: nic // Zwraca: kod błędu ////////////////////////////////////////...
SPL? Ale ja nie używam SPL. Dodano po 5 Nie będę tu wrzucał całego projektu, bo jest w kilku plikach, choć nieduży, ale fragmenty, np. funkcje inicjalizacji: [syntax=c] void GpioInit(void) { RCC->APB2ENR |= (1<<PA); //GPIOA_RCC enable RCC->APB2ENR |= (1<<PB); //GPIOA_RCC enable RCC->APB2ENR |= (1<<PC); //GPIOA_RCC enable RCC->APB2ENR...
Witam, mam chyba dość banalny problem z timerem T1 w ATtiny45. Otóż celem jest generowanie przerwania co około 40 ms - czyli zadanie wydaje się praktycznie śmiesznie proste. Proste było w 8051, ale AVR mi się stawia. Do tego celu zaprzągnąłem timer T1 w konfiguracji „match compare”. Przy kwarcu 8 MHz, preskalerze 2048 oraz wartości OCR1A...
Z helpa mplab: MPLAB SIM is a discrete-event (as opposed to real-time) simulator. Interrupt latency may not be accurate. Weak pull-ups on ports not implemented. Depending on device: Timer1 increments on RC0, not RC1, for Timer1 enabled. Serial I/O (i.e., USART, I2C, SPI) is not supported in simulation. As a result, the SSPSTAT register has been made...
Hej, Oto co wyrzuca lsusb: lsusb Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 003: ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 046d:c05b...
Stwierdziłem że najpierw skonfiguruję sobie I2S3 żeby generowało mi MCLK, wydaje mi się, że ustawiłem wszystko a na PC7 nic nie ma. Czy ktoś kto już to uruchamiał mógłby rzucić okiem i podpowiedzieć co robię źle lub o czym zapomniałem? Poniżej kod programu: (miga diodką i ma generować MCLK na I2S3) [syntax=c]void TIM2_IRQHandler(void) { // flash on...
Witam od 2 dni próbuje zsynchronizować TMI1 (podczas generowania przebiegu PWM) i ADC2 w taki sposób aby przetwornik ADC2 próbkował w czasie gdy gdy nastąpi przepełnienie w liczniku jak poniżej na rysunku: https://obrazki.elektroda.pl/6382692400_... Dodam, że Timer pracuje w trybie "Center-aligned mode 2" a przetwornik ADC2 używa kanału...
Z detektora zera sieci dostaje sygnał jak na obrazku niżej. http://obrazki.elektroda.pl/1251410700_1... Kwarc 8MHz, po PLL 24MHz. No i mam między innymi [syntax=c]NVIC_SetPriorityGrouping(3); NVIC_SetPriority(ADC1_2_IRQn, NVIC_EncodePriority(3, 2, 0)); NVIC_SetPriority(EXTI9_5_IRQn, NVIC_EncodePriority(3, 3, 0)); NVIC_SetPriority(TIM4_IRQn,...
funkcja wyżej void USB_ISR (void) __irq { DWORD isr, csr, bkm, n; while (isr = pUDP->UDP_ISR) { /* End of Bus Reset Interrupt */ if (isr & AT91C_UDP_ENDBUSRES) { USB_Reset(); #if USB_RESET_EVENT USB_Reset_Event(); #endif pUDP->UDP_ICR = AT91C_UDP_ENDBUSRES; } /* USB Suspend Interrupt...
Tu jeszcze raz poprawiony ale nadal nie wiem co dopisać do rcall :;------------------------------ ;Przekaźnik ;------------------------------ .include "m8def.inc" .def temp = R16 .def przycisk = R17 ;tu parametr dla pętli opóźnienia .def przycisk = R18 ;zmienne pomocnicza .def przycisk = R19 ;---------------------------------------...
Funkcja SystemInit jest wywoływana w obu przypadkach na początku main. Podałem ją w kodzie. Może tutaj faktycznie jest problem. Pliki startup.s Keila i Cube się różnią. Zauważyłem, że funkcja SystemInit jest wywołana w pliku dla Cube. Niestety te pliki to dla mnie czarna magia. Czytałem o nim artykuł waszego kolegi z elektrody. https://www.elektroda.pl/rtvforum/topic3...
Witam, W dokumentacji dowolnego mikrokontrolera ATmega z łatwością można odnaleźć tablicę z wektorami przerwań, np. taką: 1 $0000 RESET 2 $0002 INT0 External Interrupt Request 0 3 $0004 INT1 External Interrupt Request 1 4 $0006 INT2 External Interrupt Request 2 5 $0008 INT3 External Interrupt Request 3 6 $000A INT4 External Interrupt Request 4 7 $000C...
Czyli pomiary wykazałyby to co podejrzewałem, czyli uszkodzenie pinu. Ad 1. When the SM2..0 bits are written to 011, the SLEEP instruction makes the MCU enter Powersave mode. This mode is identical to Power-down, with one exception: If Timer/Counter2 is clocked asynchronously, i.e. the AS2 bit in ASSR is set, Timer/Counter2 will run during sleep. The...
Witam wszystkich. Szukam speca od freeRTOSa aby powiedział mi co robie nie tak.. Otóż używam freeRTOSa wygenerowanego z CubeMXa. Chce obsłużyć moduł BT, a to równa się ogarnąć UARTa. No i zaczynają się schody bo mimo że program bez freeRTOSa działa to z nim odbiera mi jakieś śmieci. A dokładnie dwa znaki. I nie wiem co może być nie tak. Mam skonfigurowany...
http://obrazki.elektroda.pl/4301568800_1... Autor poniższej konstrukcji przedstawiał już podobny układ - miniaturowy zegarek oparty o ATtiny ( Krok 1: Przygotowania http://obrazki.elektroda.pl/4194769400_1... Mikrokontroler Układ oparty jest o mikrokontrolery AVR firmy Atmel ATtiny85. Autor wykorzystał element w obudowie...
Zainstalowałem AVR Studio4 i lecę od początku z google i pdf na temat ASM i AVR Powiedzcie chociaż czy w dobrym kierunku zmierzam? Bo jak w złym to odpuszczam i daje sobie spokój, pobawię się migającymi diodami w Bascomie. Tam gdzie nie ma komentarza to nie wiem co to znaczy i co robi ale było w pdf lub innych opisach, jeżeli ktoś może mi wyjaśnić instrukcje...
Ok dzieki Piotrek. Przypomniales mi o parzystosci juz wszystko gra. male przeoczenie.. Ja stosuje metode uzupelnienia "white char" czyli spacja:P =>> Dar.El to jest moj poczatek :) (az taki laik nie jestem :P) .nolist .include "m8def.inc" .list ;***************************************... ;* DEFINICJE ZWIAZANE Z REJESTRAMI * ;***************************************...
Witam. Mam problem z obsłużeniem bibliotek Atmela do magistrali TWI dla mikrokontrolerów z rodziny Xmega. Próbuje odebrać dane z Mastera. Master to Atmega, która jest na pewno skonfigurowana poprawnie, gdyż dane odbierałem na innej atmedze. Problem pojawia się gdy chcę je odebrać na Xmedze, ze względu na moje początki z tym mikrokontrolerem. Może ktoś...
Faktycznie. W pliku stm32f1xx_hal_msp.c mam już remap tych pinów. Poniżej zawartość pliku pliku stm32f1xx_hal_msp.c. [syntax=c]/** ****************************************... * File Name : stm32f1xx_hal_msp.c * Description : This file provides code for the MSP Initialization * and de-Initialization codes. ****************************************...
(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, mam sobie meżkę z bootloaderem void reset() { cli();wdt_enable(WDTO_15MS... } Słyszałem, że watchdog działa tak, jak fizyczne zwarcie linii RESET do masy. Jednak po wywołaniu reset() program wraca do swojego początku, zamiast w pełni resetować urządzenie. Co innego, jeśli zewrę reset – wtedy...
Wymyśliłem sobie, że użyję ADC1 do wyzwolenia DMA. ADC nie będzie nic mierzyć, jednak wyzwoli DMA2, natomiast ADC mogę wyzwalać innym timmerem. Przesiedziałem z tym cały dzień i coś pomijam bo nie działa wyzwalanie ADC z timmera. Jeśli uruchomię ADC z własnym zegarem, transfer DMA działa po każdej konwersji. Jeśli uruchomię ADC wyzwalane z timmera,...
Dane dysku Toshiba MK6036GAL ZIF 1,8" z programu AIDA64 na Windows 7 PoleWartość Właściwości urządzenia ATA ID modeluTOSHIBA MK6036GAL P-SDR Numer seryjnyZ0E9WS6UW Numer wydaniaVP710E Typ urządzeniaATA-100 Parametry116280 cylindry/ów, 16 głowic(e), 63 sektory/ów na ścieżkę, 512 bajty/ów w sektorze Liczba sektorów LBA117210240 Rozmiar sektora fizycznego/...
event modem event generator freertos interrupt
zasilacz rozproszony daewoo ustawienia serwisowe ustawienie taśmociągu
czemu zalewa swiece czemu zalewa swiece
Samoczynne zamykanie bramy Nice Smilo - przyczyny i rozwiązania Grzałka grillowa w piekarniku Mastercook Elegance