volatile static

Znaleziono około 1069 wyników dla: volatile static
  • Czy zmienna `volatile uint8_t` ma domyślną wartość 0?

    Wydaje mi się że to zależy od kompilatora. Taka deklaracja nie zeruje zmiennej, czy kompilator ją niejawnie wyzeruje to zależy od niego. Nawet jeżeli ja zeruje to lepiej zawsze napisać; volatile uint8_t accel_decel_counter = 0; Wtedy program jest jaśniejszy, a dobry kompilator i tak to przypisanie zrobi tylko raz. Standard języka C tego nie definiuje...

    Mikrokontrolery   24 Paź 2010 22:17 Odpowiedzi: 27    Wyświetleń: 2868
  • REKLAMA
  • Jak zdefiniować i użyć zmiennej static w funkcji - stan_zmiennej

    Umieść cały kod. Fragment, który przysłałeś na PW [syntax=c] void loop() { digitalWrite( napiecie, HIGH); // wyjscie na pinie 5v dla testu digitalWrite( niskie, LOW); // wyjscie na pinie 0v dla testu static volatile int stan; if (stan != digitalRead(przeslona)) // jesli pin ma 5v stan = digitalRead(przeslona); { stepper.moveDegreesCW (180); delay(1000);...

    Arduino   16 Wrz 2018 12:21 Odpowiedzi: 3    Wyświetleń: 870
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [ATMega8][c] - problem z tablicą uzupełnianą w przerwaniu

    Wystarczy policzyć. 19200 bps = 1920 znaków na sekundę, czyli znak co ~0,5 ms. Przy taktowaniu 4MHz masz +/- 2080 cykli procesora pomiędzy przerwaniami od UARTa, czyli duuużo czasu na wykonywanie instrukcji w pętli głównej. Na Twoim miejscu skupiłbym się na przetwarzaniu tekstu np. linia po linii - przerwanie wypełnia bufor, a po wykryciu sekwencji...

    Mikrokontrolery AVR   03 Paź 2009 19:03 Odpowiedzi: 21    Wyświetleń: 2950
  • Polecane materiały do nauki programowania mikrokontrolerów dla początkujących

    Bardzo wiele zostało już powiedziane (bardzo dobre porady). Moim zdaniem krokiem zero jest jako tako umieć programować w C na PC (jak przebiega proces kompilacji, kod źródłowy podzielony na pliki *.c i *.h, organizacja pamięci i wskaźniki, struktury i wskaźniki do nich, słowa kluczowe register, volatile, static, etc., preprocesor, makefiles i make,...

    Mikrokontrolery   28 Sie 2024 08:03 Odpowiedzi: 11    Wyświetleń: 651
  • REKLAMA
  • FreeRTOS: Jak używać semaforów do synchronizacji wątków worker1 i worker2?

    Po co Ci zerowanie semafora ? Semafor binarny liczy do 1, więc nie musisz w nim niczego zerować. Generalnie najprostszy semafor działa mniej więcej tak: [syntax=c] static volatile int semCount; Take(){ while(count > 5); count++; } Give(){ count--; }[/syntax] Jest to bardzo prymitywna konstrukcja, ale tak to mniej więcej działa. Binarny poprostu liczy...

    Mikrokontrolery   03 Lut 2012 14:32 Odpowiedzi: 12    Wyświetleń: 3013
  • Obsługa przerwań w C: problem z diodami i wyświetlaniem czasu na LCD

    A sznowny kolega "czuje różnicę" pomiędzy: local , global, static , const ,volatile itd. :?: void Timer0(void) interrupt 1 { unsigned int licznik; licznik++; if (licznik == 300) // gdy zmienna licznik jest równy 4000 /*......................................... Piotrek

    Mikrokontrolery   08 Sty 2007 21:48 Odpowiedzi: 4    Wyświetleń: 1722
  • REKLAMA
  • atmestudio blad "recipe target ''nazwa.elf'' failed

    Nie znam Atmel Studio, ale jako że korzysta ono z klasycznego make-a... Wygląda, że "grzebnąłeś" sobie gdzieś w opcjach projektu, ewentualnie w automatycznie wygenerowanym pliku Makefile. Najlepiej wklej ten plik tutaj. No chyba, że włączona jest opcja "treat warnings as errors" (czego nie widzę). Aby zlikwidować to ostrzeżenie po prostu dodaj brakujący...

    Mikrokontrolery Początkujący   04 Sie 2019 18:20 Odpowiedzi: 15    Wyświetleń: 2184
  • ATmega32, C, przerwanie ADC - program przestaje działać po kilku minutach

    janbernat ---> eeej no co ty opowiadasz że traktuję cię jak początkującego czy jeszcze gorzej jak piszesz - bzdura! Po prostu wiem też że zaczynasz chyba pisać w C i stąd może jakieś dziwne czy nieoczekiwane dla ciebie rzeczy się dzieją. Np dodawanie przydomka volatile do zmiennej static test w przerwaniu nie ma najmniejszego sensu, skoro jest ona wykorzytywana...

    Mikrokontrolery AVR   12 Kwi 2011 19:37 Odpowiedzi: 13    Wyświetleń: 2524
  • Keil uVision C: Zmienna 'nr_trybu' resetuje się po przerwaniu timera 80C517

    Próbowałem deklarować zmienną nr_trybu w różny sposób (volatile, extern, volatile, static). Nie pomaga. Coś gdzieś zachodzi na siebie. Zauważyłem, że jaką przypiszę tej zmiennej wartość w przerwaniu, taką ona potem przyjmuje w chwili jeżeli nie spełni się opisywany warunek.

    Mikrokontrolery   20 Maj 2012 02:10 Odpowiedzi: 8    Wyświetleń: 1087
  • [Atmega8, C] Stacja lutownicza - multipleksowanie LED

    Eee, prościzna - zapomniałeś dać volatile w deklaracji. ;) całkiem poprawnie byłoby: static volatile uint8_t Znak;

    Mikrokontrolery AVR   21 Mar 2013 23:15 Odpowiedzi: 11    Wyświetleń: 2856
  • REKLAMA
  • C - jak poprawnie przypisać wartości do struktury PWM_data?

    zadeklaruj jako static w przerwaniu - jako volatile Zmienne używane globalnie + w przerwaniach powinny być volatile. Wtedy kompilator ci ich nie "zniszczy". Doskonały opis volatile w http://mirekk36.blogspot.com/2011/08/tes...

    Mikrokontrolery   03 Sty 2012 22:12 Odpowiedzi: 11    Wyświetleń: 1481
  • PIC 16F688 dziwne znaki na terminalu RS232 po SLEEP();

    Hej Niedawno zaczalem programowac PICe i mam pewien problem, kompilator HITECH. Problem jest taki ze na terminal uC wyrzuca jakies niechciane znaki. kawalek kodu: volatile static BYTE str[] = "\nSTART\n"; volatile static BYTE modem[] = "Modem up\n"; volatile static BYTE ef = 'f'; volatile bank1 BYTE TX_pressure[8];...

    Mikrokontrolery   02 Lip 2006 15:05 Odpowiedzi: 2    Wyświetleń: 1442
  • ATMEGA88 - Jak zwiększyć zakres PWM do 0-1023 w języku C?

    Zrób to sobie programowo np. weź timer0 i ustaw podstawę czasu tak aby co określony czas timer zgłaszał przerwanie czy to przepełnienia czy porównania w tym przerwaniu umieść np. taki kod [syntax=c] //gl_OCR1 to zmienna globalna pełni funkcje identyczną jak OCR1 uint16_t volatile gl_OCR1 ; ISR(wektor) { static uint16_t zm; if(zm<gl_OCR0) PORTA&=~(1<<PA0);...

    Mikrokontrolery AVR   13 Maj 2017 13:36 Odpowiedzi: 5    Wyświetleń: 1404
  • Zmienna nieulotna w funkcji. [C]. Jak ją zadeklarować?

    Potrzebuję zmiennej lokalnej ale nie ulotnej. Mam kilkanaście procedur które filtrują sygnały i potrzeba mi kilkadziesiąt buforów próbek które oczywiście muszą być niezmienne aby kolejne wywołania funkcji filtrujących poprawnie aktualizowało mi wyjście filtrów. Na razie mam wszystkie zmienne jako globalne volatile ale robi się niezły bałagan. Każdy...

    Mikrokontrolery   16 Sty 2010 23:38 Odpowiedzi: 56    Wyświetleń: 5588
  • [atmega] Błąd w komunikacji UART na ATmega z użyciem avr-gcc i C - jak naprawić?

    Fajne nie? Prawdziwa jazda zaczyna się jednak dopiero wtedy, gdy takie wskaźniki mają być jeszcze statyczne uint32_t * volatile static ptr; -> ../main.cpp:49: error: expected unqualified-id before 'static' ../main.cpp:49: error: expected initializer before 'static' Ktoś mi to wytłumaczy skoro już przy tym jesteśmy? Czemu "const"...

    Mikrokontrolery AVR   11 Paź 2009 22:31 Odpowiedzi: 3    Wyświetleń: 2150
  • Fuel Injector cleaner - prośba o sprawdzenie schematu - Eagle

    Witam ponownie, Poszedłem o krok dalej i moim planem jest podłączenie każdego z czterech wtryskiwaczy do osobnego pinu Arduino Uno/Nano z Atmega 328p. Pozwoliło mi to na skonstruowanie programu aby sterować każdym wtryskiwaczem z osobna z tą samą częstotliwością i wypełnieniem, ale sygnał do ich wysterowania jest przesunięty około 90° (problem z rozdzielczością...

    Projektowanie PCB   25 Gru 2024 10:42 Odpowiedzi: 9    Wyświetleń: 639
  • STM32F0Discovery - TIM1 Input Capture CH1 Konfiguracja i GPIO (bez ST library)

    Pas. static volatile uint32_t get_counter;

    Mikrokontrolery ARM   21 Lis 2013 14:48 Odpowiedzi: 35    Wyświetleń: 3888
  • STM32F0Discovery - Jak rozwiązać konflikt przerwań TIM2 i TIM3?

    Sorry. testy nie byly po kolei. Teraz juz sa: [syntax=c] volatile int xx = 1; volatile int k; static inline void bitband_str_prepare(void) { asm volatile(" \n" "movw r7, #0x84A8 \n" "movt r7, #0x4225 \n" ); } static inline void bitband_str(void) { asm volatile(" \n" "str r6, [r7] \n" ); } static inline void ram_str_prepare(void) { asm volatile(" \n"...

    Mikrokontrolery ARM   31 Paź 2013 10:15 Odpowiedzi: 91    Wyświetleń: 7725
  • uVision 4 - Jak umieścić dużą tablicę stałych w pamięci Flash?

    Cze, W moim programie chciałbym wrzucić pewną tablice stałych (dość dużą, zajęła by ona połowę RAMu w F100RB) do pamięci Flash. Problem polega na tym, że jakoś nie potrafię skłonić linkera do tego aby to uczynił. Testowo deklarowałem trochę mniejszą tablicę w taki sposób: [syntax=cpp]volatile static const char test[2][2][2][10] = {............}[/syntax]...

    Mikrokontrolery ARM   15 Lis 2013 08:35 Odpowiedzi: 5    Wyświetleń: 1137
  • Z111xP - lpc1114 - tłumaczenie kodu programu i schemat płytki

    Wskazany w linku debugger to zapewne JLink ale za cenę niespełna 10 $ to napewno nielegalny klon :) Jeżeli chcesz poznać LPC'ki i mieć debugger to wejściami . Kiedyś zapomniałem o tym fakcie i dziwiłem się dlaczego program nie działa tak jakbym się tego spodziewał.

    Mikrokontrolery Początkujący   06 Kwi 2017 17:44 Odpowiedzi: 16    Wyświetleń: 1959
  • Atmega][C] I2C dwie atmega w sieci , brak odpowiedzi

    Witam, Chcę połączyć ze sobą dwie atmegi po TWI korzystam ze standardowej biblioteki do obsługi sprzętowego TWi tak jak w datasheetach. Jak podłączę jednego AVR do np Ds1307 to obsługa jest ok w dwie strony. Problem mam gdy połączę Atmega32 (master) z Atmega8 (slave) tzn gdy z Atmegi32 wysyłam coś np literkę 'q' to jest ona wrzucana do buf2 i ma się...

    Mikrokontrolery AVR   30 Cze 2011 18:17 Odpowiedzi: 1    Wyświetleń: 2368
  • [atmega8][c] - Sterowanie 5metrowym paskiem led rgb

    Napewno [syntax=c]static volatile uint8_t cnt;[/syntax] Jeśli ta zmienna ma być modyfikowana w przerwaniu.

    Mikrokontrolery AVR   06 Wrz 2012 20:03 Odpowiedzi: 8    Wyświetleń: 6381
  • Jak działa skanowanie klawiatury matrycowej w C? Co to jest upperNibble?

    240 Hz na dwie cyfry na wyświetlaczu powinno być ok. ;) [syntax=c] // zmienne statyczne static volatile _Bool new_key = 0; static volatile uint8_t key; // kod do wstawienia w procedure obslugi przerwania { static uint8_t tdiv; static _Bool was_released = 0; static const keys[] = {tu wpisy kolejno kodz klawiszy}; // powinno byc PROGMEM if ((++ tdiv &...

    Mikrokontrolery Początkujący   20 Gru 2012 20:07 Odpowiedzi: 16    Wyświetleń: 3018
  • [ATmega] [ATmega][C] Zmienna globalna zwraca 0 przy wywołaniu funkcji w main()

    basemodule.h typedef struct { uint8_t blockParam; uint8_t signedMove; uint32_t deviceInitialAdress; }glob; uint8_t returnBlockParam(void); basemodule.c volatile static glob globalVariables; uint8_t returnBlockParam(void) { uint8_t returningValue = globalVariables.blockParam; rprintf("Returning : %d",returningValue...

    Mikrokontrolery AVR   28 Lip 2009 14:05 Odpowiedzi: 8    Wyświetleń: 1491
  • [GCC] -Os - czyli jak zrobic, zeby gcc nie zjadalo funkcji?

    sa sobie moje wlasne funkcje do zapisu do EEPROMu: uint8_t *_save_src_adr=0; uint8_t *_save_dst_adr=0; volatile uint8_t _save_length=0; ... void _eeprom_save_block(uint8_t *src,uint8_t *dst,uint8_t length) { while(_save_length); _save_src_adr=src; _save_dst_adr=dst; _save_length=length; EECR|=EECR_EERIE; } ... ISR(EE_RDY_vect)...

    Mikrokontrolery AVR   12 Lis 2008 13:53 Odpowiedzi: 10    Wyświetleń: 2322
  • Równoczesny pomiar temperatury i napięcia ADC1 STM32F411RE

    Nie dodawałem struktury oraz tablicy do której jest odwołanie w pętli, bo jest spora i nie jej problem dotyczy. [syntax=c]#include "stm32f4xx.h" static volatile uint16_t wyniki[3]; static void MX_DMA_Init(void); static void MX_ADC1_Init(void); while (1) { DP[0].wartosc = 5.f*(wyniki[0])/4096; } static void MX_ADC1_Init(void) { RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;...

    Mikrokontrolery ARM   24 Mar 2021 15:09 Odpowiedzi: 4    Wyświetleń: 606
  • Wysyłanie komend AT do BTM112 z mikrokontrolera ATmega32 - przykłady kodu

    Dzięki za biblio ;) Ja korzystam od dawna z bibliotek od Mirka z BlueBooka lekko przeze mnie zmodyfikowanych. Odświeżam temat bo jednak mam problem: http://obrazki.elektroda.pl/2645882300_1... http://obrazki.elektroda.pl/2587616400_1... http://obrazki.elektroda.pl/8131694900_1... http://obrazki.elektroda.pl/2415856600_1...

    Mikrokontrolery AVR   17 Sie 2017 17:10 Odpowiedzi: 6    Wyświetleń: 2061
  • Atmega32: Brak dźwięku w słuchawkach przy odtwarzaniu pliku WAV z karty SD

    Cześć, Napisałem program, który miał odtwarzać utwór z karty SD o nazwie o.wav . Program poprawie otwiera plik, jednak ze słuchawka nie wydaje dźwięku... Czy mógłby ktoś sprawdzić mój kod czy nie ma tam żadnego błędu ? Myślałem że same wyprowadzenie odczytanych wartości hex z pliku muzycznego i "wypuszczenie" ich na PWM w zupełności wystarczy, ale widocznie...

    Mikrokontrolery AVR   14 Mar 2017 21:47 Odpowiedzi: 13    Wyświetleń: 1131
  • Jak aktywować wewnętrzny RAM 2kB w ADuC842 w Keilu?

    chodziło mi o xdata static volatile .... jak nie zerowałem w pętli, albo inaczej ustawiałem to zawsze pozostawały śmieci albo wartości z przed resetu.Może coś źle robiłem.

    Mikrokontrolery   03 Lis 2006 00:38 Odpowiedzi: 21    Wyświetleń: 2436
  • Jak skonfigurować przerwania zewnętrzne do sterowania silnikiem w AVR?

    Witam. Po raz kolejny wracam do tematu przerwań: [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> volatile static uint16_t i; volatile static uint8_t k; // główna funkcja programu main() int main(void) { //**************************** SPRZĘTOWY PWM - 1 KANAŁ OC0 (PB3) ****************************************...

    Mikrokontrolery AVR   22 Gru 2016 15:04 Odpowiedzi: 27    Wyświetleń: 1275
  • UART - odbiór w przerwaniu zwraca KKKKKKKKKKK, nadawanie działa

    Kod poprawiony w oparciu o to co napisałeś: "Można to zrobić na 2 sposoby: albo modyfikujesz indeks widziany przez przerwanie po odczycie/zapisie (z grubsza tak miał działać kod autora wątku, ale nie do końca tak działał), albo blokujesz przerwania na czas operacji na buforze/indeksie (mało eleganckie)." [syntax=c] // UART1 output buffer #define TXBUF_SIZE32...

    Mikrokontrolery ARM   25 Lis 2013 23:58 Odpowiedzi: 24    Wyświetleń: 2970
  • AVR - jak radzić sobie z fusebitami i ograniczeniami 8-bit?

    Jeszcze o static, const i volatile. Stary wyjadacz objaśnił mi to mniej więcej. "Wal gdzie się tylko da static i się nie martw. Wtedy to będzie nie do ruszenia. Nie ważne gdzie to trafi! A jak wiesz, że na pewno nie będziesz wiedział co jest w danej komórce pamięci bo w sumie niby skąd miałbyś wiedzieć co tam jest, to wal przed volatile." O const mówił,...

    Projektowanie i Tworzenie Po godzinach   30 Sty 2020 18:45 Odpowiedzi: 368    Wyświetleń: 17232
  • [LPC1768] [LPC1768][C] - UART brak transmisji mimo konfiguracji i zmiany pinów

    Walczę od pół godziny z pojawieniem się transmisji na porcie szeregowym, wymłodzilem taki kod [syntax=c] #ifdef __USE_CMSIS #include "LPC17xx.h" #endif #include <cr_section_macros.h> #include "lpc17xx_uart.h" int main(void) { volatile static int i = 0 ; UART_CFG_Type uart_configstruct; // inicjacja struktury dla UART uart_configstruct.Baud_rate...

    Mikrokontrolery ARM   04 Cze 2014 08:37 Odpowiedzi: 4    Wyświetleń: 1113
  • [Atmega32a] Atmega32a USART nie działa, mimo poprawnej konfiguracji na Atmega88

    Witam. Od paru godzin męczę się z niedziałającym USARTem na atmedze32. Na atmedze88 wszystko śmiga jak ma więc przejściówka USB<->RS232 jest ok. Brak zimnych lutów na płytce. Kwarc zewnętrzny (ustawiony jako EXTHIFXTALRES_258CK_4MS - przy czym nie wiem czy tak ma być dla kwarcu 16MHz). Kod zamieszczam poniżej: [syntax=c] /* * softPWM.c * * Created:...

    Mikrokontrolery AVR   20 Wrz 2012 21:22 Odpowiedzi: 8    Wyświetleń: 1461
  • Jak skonfigurować Timer1 na ATmega8 dla IRDA z przerwaniem co 32us?

    Potrzebuję pomocy w konfiguracji Timer1 (ten mam wolny) ewentulanie modyfikacja obecnej konfiguracji Timer0. Obecna konfiguracja jest dla odliczania odpowiedniego czasu dla ramek RC5 odbieranych przez odbiornik TSOP322 przy taktowaniu procesora z F_CPU=8MHz, w celu oszczędności energii chcę zrobić odbieranie przy częstotliwości 1MHz. Jak widać z obsługi...

    Mikrokontrolery Początkujący   15 Lut 2014 14:12 Odpowiedzi: 3    Wyświetleń: 1068
  • [ARM] [ARM][C] Jak unikać zmiennych globalnych w embedded C? Struktury i wskaźniki

    Nie jest to kod niezwykły . Rzecz w tym, że jest to kod pozorny , niczemu nie służy. Zadałem już wcześniej pytanie, co było celem: enkapsulacja, oszczędność, konserwowalność - nie udzieliłeś odpowiedzi. Jeśli rozumiem, przestajesz bronić tezy, że wewnętrzny static magicznie daje oszczędność? .... być może nie jest to potrzebne, ale po co zostawiać...

    Programowanie   15 Lis 2017 10:13 Odpowiedzi: 19    Wyświetleń: 921
  • Atmega16 C - Regulacja obrotów wentylatora timerem w trybie CTC

    Wydaje mi się że nie. Ale wstawiłem dla pewności : [syntax=c] ISR( TIMER0_COMP_vect ) { static volatile uint8_t cnt; if(cnt>=pwm1) PORTB &= ~(1<<PB3); else PORTB |= (1<<PB3); cnt++; } [/syntax] I nie pomogło.

    Mikrokontrolery AVR   11 Kwi 2013 23:23 Odpowiedzi: 9    Wyświetleń: 1692
  • Dlaczego wyświetlane są inne kody przycisków? LPC1114, obsługa pilota RC5.

    Gumis-92: Proszę bardzo :) [syntax=c] #include "LPC11xx.h" #include "uart.h" #include <stdio.h> #define MIN_HALF_BIT 640 // 640 us #define HALF_BIT_TIME 889 // 889 us #define MAX_HALF_BIT 1140 // 1140 us #define MIN_FULL_BIT 1340 // 1340 us #define FULL_BIT_TIME 1778 // 1778 us #define MAX_FULL_BIT 2220 // 2220 us #define RC5_PORT LPC_GPIO3 #define...

    Mikrokontrolery ARM   23 Wrz 2015 19:34 Odpowiedzi: 22    Wyświetleń: 1935
  • [C] Konfiguracja Atmega16 z TSOP1736 i LD271 - problem z odbiorem sygnału IR

    Witam Podpinam odbiornik TSOP1736 do atmegi16 zgodnie ze schematem: http://obrazki.elektroda.pl/3599928200_1... Jako nadajnik używam diody LD271. Dioda świeci widać to w aparacie. Do procesora wrzucam kod który generuje mi 36kHz dla diody i odczytuje sygnał z odbiornika. // IR LED is connected to PORTC3, // output of TSOP is connected...

    Mikrokontrolery AVR   24 Lut 2011 10:55 Odpowiedzi: 27    Wyświetleń: 4158
  • Klawiatura matrycowa na liniach multipleksu - jak to ogarnąć?

    [syntax=c] #define BUTTONS_MASK (M1|M2|M3|M4) static volatile uint8_t pressed[4]; ISR(TIMER0_COMP_vect) { static uint8_t licznik; static uint8_t previous[4]; uint8_t current; if (licznik==0) { // wysyłka SPI MULTIPLEX1_ON; } else if(licznik == 1) { ... } //else ... itd asm volatile("nop"); current = PINA; //sprawdzamy stan portu przycisków pressed[licznik]...

    Mikrokontrolery AVR   31 Mar 2019 20:56 Odpowiedzi: 48    Wyświetleń: 2532
  • [ATmega88pa] [ATmega88pa][C] - Timer nie wywołuje przerwań dla programowego PWM

    Generalnie w takich przypadkach nota układu twoim przyjacielem. Poczytaj to co napisałem w komentarzach. [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> int main(void) { uint8_t i = 0; DDRD = 0xff; //TCCR2A |= (1<<WGM21)|(1<<WGM22); // źle ten tryb jest zarezerwowany TCCR2A |= (1<<WGM21) // CTC //TCCR2A |= (1<<CS20)|(1<<CS21)|(1<&l...

    Mikrokontrolery   12 Kwi 2015 16:54 Odpowiedzi: 2    Wyświetleń: 702
  • ATmega128 i PCF8583: brak wyzwalania przerwania INT4, jak rozwiązać?

    OK, ale sam program po wyrzuceniu wszystkich dodatków to nadal prawie 500 linii. Więc zamieściłem tylko część inicjującą. Czy coś przeoczyłem? static volatile unsigned char key1=0, key2=0, key3=0, key4=0; static volatile unsigned char odczyt_keys=0; static volatile unsigned char odczyt_time=0; SIGNAL(SIG_INTERRUPT6) { if(!(PINB&0x01))...

    Mikrokontrolery AVR   22 Lut 2011 18:12 Odpowiedzi: 16    Wyświetleń: 2087
  • [atmega8L][c + winavr] rs232 - problem z transmisją

    Witam, Mam problem z transmisją szeregową na ATMEGA8L. Próbowałem wszystkich znalezionych na forum możliwości ale nic nie pomogło. Może zacznę od połączeń: atmega8l <-> MAX3232 <-> PC MAX-sior (właściwie zamiennik SP3232ECP) podłączony jest według zaleceń datasheet'a. Miedzy MAX-em a PC-tem jest zwykły kabel rs232 (w sensie, że nie przejściówka...

    Mikrokontrolery AVR   04 Sie 2010 19:51 Odpowiedzi: 6    Wyświetleń: 1824
  • Termometr bezprzewodowy 433 MHz - UART nie działa, odbiornik nie odczytuje danych

    Niestety pokazałeś zły kod - jak wpłynie na poprawność działania pokazanego przez Ciebie kodu: [syntax=c]RxCount=0x00;[/syntax] umieszczone w pętli głównej? Prawidłowo powinno być na przykład tak: [syntax=c]#include <avr/io.h> ... volatile uint8_t flaga; // liczba odczytanych bajtow volatile uint8_t temp[2]; // odczytana temp ISR(USART_RXC_vect)...

    Mikrokontrolery AVR   08 Lut 2016 21:12 Odpowiedzi: 20    Wyświetleń: 1959
  • komunikacja pomiędzy PC a uC poprzez Konwerter USB-UART w c++

    Witam Próbuję napisać w c++ program do komunikacji z moim mikroprocesorem sterującym mostek H. Warto dodać, że w programie Bray Terminal wszystko działa. W uC wgrany jest program odpowiedzialny za komunikację uart. Komunikację podzieloną mam na ramki. Poniżej fragment kodu odpowiadający za sterowanie mostkiem: [syntax=cpp] #include "usart.h" #include...

    Mikrokontrolery AVR   07 Lis 2014 10:01 Odpowiedzi: 4    Wyświetleń: 1761
  • STM32F100RB - kompilacja arm-none-eabi-gcc z biblioteką CMSIS, makefile, dioda LED

    Dzięki za odpowiedź. mo make clean mam: "Removing all generated output files from output directory: out/ cs-rm -f out/stm32f10x_it.d out/stm32f10x_it.lst out/stm32f10x_it.o make: cs-rm: Polecenie nie znalezione Makefile:290: polecenia dla obiektu 'clean' nie powiodły się make: *** Compiling file: main.c arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb...

    Mikrokontrolery ARM   30 Paź 2016 22:23 Odpowiedzi: 20    Wyświetleń: 1218
  • LPC1114 - który plik LPCOpen zaimportować do LPCXpresso?

    Ok mam wszystko. Utworzyłem nowy projekt, został utworzony taki kod LPCOpen Board Library Project w kodzie jest Board_Init. Mam grzebać w board.c ?

    Mikrokontrolery ARM   19 Sty 2015 13:42 Odpowiedzi: 9    Wyświetleń: 1542
  • [atmega8] Obsługa przerwań zewnętrznych. Jedno przerwanie następujące po drugim.

    Witam Otóż mam taki dylemat ... Mam taki prosty programik robiący mi za licznik modulo 8. Samo liczenie odbywa się w przerwaniu timer'a ale to nie jest kwestia którą chce poruszyć. Po wywołaniu zewnętrznego przerwania, nie da się go przez czas paru/parunastu sekund wywołać. Czego to może być wina ? (pomijając że moja). Czy przypadkiem nie powinno to...

    Mikrokontrolery AVR   01 Lis 2011 00:15 Odpowiedzi: 48    Wyświetleń: 6431
  • LPC1114 - jak zmierzyć czas trwania stanu wysokiego za pomocą TMR16B0?

    Potrzebuję zmierzyć czas trwania stanu wysokiego, będzie to wielokrotność 1 us. Wymyśliłem użycie timera TMR16B0 i jego wejścia CT16B0_CAP0 do rozpoczęcia odmierzania czasu lecz nie wiem jak zrealizować poprawnie [syntax=c] #ifdef __USE_CMSIS #include "LPC11xx.h" #endif // obsluga przerwania TMR16B0 void TIMER16_0_IRQHandler(void) { if ( LPC_TMR16B0->IR...

    Mikrokontrolery ARM   13 Sie 2015 22:45 Odpowiedzi: 9    Wyświetleń: 1170
  • Atmega8 - Timer1 nie odlicza czasu przy kwarcu 16MHz i preskalerze 64

    Zmienna sek powinna być volatile: http://mikrokontrolery.blogspot.com/2011... ssek natomiast zrób statyczną w funkcji przerwania: unsigned tam gdzie liczby nie będą ze znakiem. Wprawdzie ani godziny, ani minuty, czy też sekundy nie przekroczą maksymalnych ich wartości, ale porządek warto mieć. Poza tym, taktujesz swój mikrokontroler...

    Mikrokontrolery AVR   08 Gru 2014 22:35 Odpowiedzi: 7    Wyświetleń: 1065
  • [STM32F303][C]Atomic blocks - sekcje krytyczne w STM32

    Czasem Arduino do czegoś się przyda Dodano po 2 Możesz dać przykład takiej krytycznej czasowo operacji? Problem jest a raczej był związany z buforem nadawczym uarta. Mam funkcję: Blokuj tylko przerwania od UART.

    Mikrokontrolery ARM   04 Sty 2020 21:56 Odpowiedzi: 16    Wyświetleń: 1317
  • LPC1768 - brak sygnału PWM na P2.0, konfiguracja kanału 1

    Staram się uruchomić PWM w LPC1768 na kanale 1, wydaje mi się że poprawnie skonfigurowałem PWM lecz na wyjściu P2.0 brak zmiany stanu. Oto mój kod: [syntax=c] #ifdef __USE_CMSIS #include "LPC17xx.h" #endif #include <cr_section_macros.h> #include "lpc17xx_pwm.h" int main(void) { volatile static int i = 0 ; PWM_TIMERCFG_Type PWM_config; PWM_MATCHCFG_Type...

    Mikrokontrolery ARM   10 Lip 2014 18:38 Odpowiedzi: 5    Wyświetleń: 1146
  • Częstościomierz na AT90S2313 - problem z wyświetlaniem na LCD 0 i 1

    Cześć, potrzebuję zmierzyć częstość rzędu kilkudziesięciu kHz a nie mam oscyloskopu. Zrobiłem coś takiego: AT90S2313 + LCD na PORTB; na INT0 mierzony sygnał a na INT1 50 Hz z sieci przez transoptor i 7414. Powinno działać, ale na LCD widać na zmianę 0 i 1. :( Przebiegi na INT obecne. Nie mam pojęcia, dlaczego nie działa, może ktoś z Was wskaże jakieś...

    Mikrokontrolery   12 Lut 2006 17:05 Odpowiedzi: 4    Wyświetleń: 1425
  • Przerwania AVR: Konflikt zewnętrznego i timera przy zliczaniu obrotów i czasu

    Witam, mam pewien problem z przerwaniami, otóż zastosowałem przerwanie zewnętrzne do zliczania obrotów i przerwanie timera do zliczania czasu w sekundach, ale po włączeniu przerwań timera, zobaczyłem w debuggowaniu że przerwania zewnętrzne zliczają do około 4. Czy jest to możliwe że przerwania się gryzą ze sobą? Proszę uzupełnić tytuł postu- zgodnie...

    Mikrokontrolery Początkujący   14 Sty 2013 17:09 Odpowiedzi: 7    Wyświetleń: 1728
  • Atmega644PA - Obsługa przerwania, multipleksowanie ADC

    Uwagi: Przerwanie timera, a nie ADC, z powodów, o których wyżej była mowa. Wszystkie dane poza wektorem wyników powinny być zadeklarowane wewnątrz procediury obsługi przerwania timera z atrybutem static, a nie volatile, a wektor wartości ADMUX - jako static const. Z kolei zadeklarowanie wektora wyników z atrybutem volatile (hiperpoprawnie) powoduje...

    Mikrokontrolery   10 Sty 2016 16:07 Odpowiedzi: 53    Wyświetleń: 2865
  • zestaw uruchomieniowy AVR ,filtracja i Atmel Studio

    Stad też często dla celu debug stosuje się optymalizację na poziomie 1 (O1) lub nawet 0 (O0). Ja wolę zadeklarować jako static a czasem aby śledzić stan w pracy krokowej trzeba jeszcze dodać volatile. Czyli na okrętkę robisz to co robi -O0. static wprowadza tyle różnic w stosunku do normalnej deklaracji zmiennej, że powstaje pytanie o sens takiego...

    Mikrokontrolery AVR   22 Lip 2017 22:46 Odpowiedzi: 117    Wyświetleń: 6828
  • Ph-metr do akwarium - kontrola CO2

    Witam, chciałbym odkopać temat, ponieważ jest on jedną z wielu części mojej pracy dyplomowej. Średnio radzę sobie ze zrozumieniem idei równania Nersta. Widziałem we wcześniejszych postach równanie postaci: E = Eo - k*T*pH, gdzie: (właśnie z tym mam problem...) 1. rozumiem, że E to nasze napięcie na wyjściu wzmacniacza elektrody, czyli to które podawane...

    DIY Konstrukcje   25 Lis 2021 21:46 Odpowiedzi: 35    Wyświetleń: 35376
  • STM32F407/Keil - Nie działa I2S pod kontrolą FreeRTOS

    Dzień dobry! Poniżej kawałek kodu, trochę nie ociosany, co prawda, ale może rzuci jakieś światło na problem. [syntax=c] #include <stdio.h> #include <string.h> #include "stm32f4xx.h" #include "FreeRTOS.h" #include "task.h" #include "timers.h" #include "semphr.h" #include "misc.h" /* moje */ #include "sine.h" #include "timer.h" #include "leds.h"...

    Mikrokontrolery ARM   16 Wrz 2016 10:01 Odpowiedzi: 18    Wyświetleń: 1296
  • Dlaczego w kodzie pojawiają się błędy i jak to naprawić?

    Dziękuję wszystkim za podpowiedź i tłumaczenie. Nie chcę zakładać nowego tematu ale mam kolejny problem z tym że tu już tak łatwo mi nie będzie A włąśnie powinieneś, ponieważ temat jest zupełnie inny niż poprzedni. Post wydzieliłem do nowego nadając właściwy tytuł. In file included from C:\Users\Piotrek\Documents\Arduino\K...

    Arduino   06 Lip 2021 14:40 Odpowiedzi: 10    Wyświetleń: 654
  • Jak poprawnie odbierać stream w radiu internetowym na stm32f4+esp8266?

    Witam mam problem z "pożenieniem" tego wszystkiego funkcja odbierająca stream [syntax=c]void HAL_UART_RxCpltCallback(UART_HandleTypeD... * uart) { if (esp_recv_char == esp_pattern[esp_char_counter]) { esp_char_counter++; if (esp_char_counter == 5) { esp_recv_mux = uart_read_char(uart); uart_read_char(uart); char length_str[5]; char current_char = 0;...

    Mikrokontrolery Początkujący   30 Kwi 2019 11:34 Odpowiedzi: 4    Wyświetleń: 807
  • Atmega8 - Timer1 zmiana współczynnika wypełnienia

    ustaw sobie przerwanie od np. TIMER2 co 10ms i sprawdzaj 4 ostatnie stany przycisku. teoria: http://mikrokontrolery.blogspot.com/2011... powyższe zaadoptowane do A8: [syntax=c] //**************definicja przycisku************** #define _Key _BV(PD7) #define Key_PIN PIND #define Key_DDR DDRD #define Key_PORTPORTD...

    Mikrokontrolery AVR   24 Lut 2014 18:26 Odpowiedzi: 18    Wyświetleń: 2355
  • HardFault jak to najlepiej/najszybciej/najłatwiej wyśledzić

    Może coś takiego: [syntax=C]//****************************... // +--+ // | ++----+ // +-++ | // | | // +-+--+ | // | +--+--+ // +----+ Copyright (c) 2009 Code Red Technologies Ltd. // // Microcontroller Startup code for use with Red Suite // // Software License Agreement // // The software is owned by Code...

    Mikrokontrolery ARM   01 Lut 2013 13:50 Odpowiedzi: 3    Wyświetleń: 1371
  • Jak odczytać i modyfikować zmienne Timer1 i Timer2 w różnych plikach?

    Nie można. Co da ci to, że Timer1/2 zrobisz static? To musi być volatile. Natomiast istotnie, trudno pomóc, jeśli nie wiadomo w czym jest problem :)

    Mikrokontrolery   01 Sie 2011 11:54 Odpowiedzi: 52    Wyświetleń: 3747
  • [STM32] Konfiguracja SysTick dla FATfs na STM32 - problem z dekrementacją Timer1

    static volatile DWORD Timer1, Timer2; z kolei DWORD to: typedef unsigned longDWORD; probowalem tez wpisywac dokladnie takie same wartosci ja Ty w Twojej funkcji i nic nie pomogło pozatym do obslugi przerwania ustawilem migajaca diodke, jesli sie nie myle od razu po wywolaniu funkcji: SysTick_Conf(); powinno to przerwanie sie generowac co 10ms a wogole...

    Mikrokontrolery ARM   26 Mar 2011 21:14 Odpowiedzi: 4    Wyświetleń: 2579
  • [STM32][C] Błąd kompilacji przy inkrementacji const volatile zmiennej

    Cześć, Mam taki fragment kodu: [syntax=c] static const volatile uint32_t systick = 0; uint32_t GetTimeUs(void) { return systick; } void HAL_SYSTICK_Callback() { systick++; }[/syntax] który się nie kompiluje, dostaję taki błąd kompilacji. [syntax=c]../Application/Time.c:31:19: error: increment of read-only variable 'systick'[/syntax] Z tego co wiem powinno...

    Mikrokontrolery ARM   15 Kwi 2019 17:07 Odpowiedzi: 8    Wyświetleń: 1524
  • Arduino sterowanie przyciskiem z dwoma stanami Short i Long

    https://github.com/diymat/ARM-blog-libra... co prawda do ARM ale przerobić sobie do użycia na AVR to nie problem. Biblioteka z callbackami i 5 stanami key-up key-down, click, długi click i double click. [syntax=c] static volatile BUTTON_Status_T Buttons[NKEYS]; [/syntax] Volatile dla całej tablicy struktur. To już świadczy o kiepskiej...

    Arduino   18 Wrz 2017 10:59 Odpowiedzi: 4    Wyświetleń: 1350
  • Stoper na ATMEGA 128 z wyświetlaczem HD44780 i klawiaturą - jak zacząć?

    #include <inttypes.h> #include <avr/io.h> #include <avr/signal.h> #include <avr/interrupt.h> #include "lcd.c" #define LED_ON (PORTB|=(1<<4)) #define LED_OFF (PORTB&=~(1<<4)... #define LCD_LIGHT_ON PORTB|=_BV(6) #define LCD_LIGHT_OFF PORTB&=~_BV(6) #define...

    Mikrokontrolery   14 Sty 2008 22:26 Odpowiedzi: 8    Wyświetleń: 3614
  • LPC1768 - Timer TIM0 wolne odliczanie, zmiana stanu P3.25 co 1s, dioda

    Napisałem program bez użycia LPC175x_6x CMSIS-Compliant Standard Peripheral Firmware Driver Library, który co 1 s ma zmieniać stan P3.25 na przeciwny. Do pinu P3.25 podpięta jest dioda dzięki czemu mogłem zaobserwować zmiany i zmierzyć czas. Jednak moje obliczenia nie pokrywają się z wynikiem wykonywanego programu: [syntax=c] #ifdef __USE_CMSIS #include...

    Mikrokontrolery ARM   02 Cze 2014 07:31 Odpowiedzi: 5    Wyświetleń: 1332
  • [ATmega32L] Jak zmusić kompilator winAVR do poprawnej obsługi zmiennej Frame?

    ciastek4 : Ale po co ukrywanie zmiennej globalnej, skoro ona właśnie ma być widoczna w innym module. Wiem. Może nie jasno się wyraziłem. Moje stwierdzenie wczesniejsze jest odpowiedzia na pytanie w 1 poście: Czy jest jakis sposob zeby kompilator to normalnie skompilowal zeby nie pisac tego w asemblerze ? Odpowiedź : usuń static w deklaracji zmiennej....

    Mikrokontrolery AVR   12 Paź 2008 19:33 Odpowiedzi: 14    Wyświetleń: 1636
  • LPC1343 - Jak skonfigurować komunikację I2C z modułem RTC DS1307?

    Mój program przedstawiam poniżej, widać że komunikacja i2c działa bo 2CSlaveBuffer I2CWriteLength = 2 zamiast I2CWriteLength = 3. Kiedy miałem 3 otrzymywałem same zera - nie rozumiem przecież zgodnie z tym co pisałeś wysyłam adres 0xD0, adres poczatku pamięci 0, i ponownie adres 0xD0 + 1 czyli 3 ośmiobitowe dane.

    Mikrokontrolery ARM   31 Paź 2015 09:14 Odpowiedzi: 8    Wyświetleń: 1416
  • [Atmega8 ] Atmega8: Błędy w stabilizacji prądu i napięcia z PWM w zasilaczu DIY

    Witam Udało mi się rozwiązać problem . Układ działa poprawnie . Może komuś się przyda moje rozwiązanie ? ISR ( ADC_vect) { volatile static unsigned char adc_a ; adc_a ++ ; if(adc_a == 2) {tab_prad [ adc_b ] = ADCH ; adc_b ++ ; if(adc_b >3) adc_b = 0 ; ADMUX |= _BV(MUX0) ; } if( adc_a >3)...

    Mikrokontrolery AVR   02 Kwi 2011 19:33 Odpowiedzi: 5    Wyświetleń: 1666
  • Wskaźnik do lokalnej struktury w WinAVR - problem z adresem w AT90CAN128

    Mam taki (niezrozumiały dla mnie) przypadek: - wewnątrz procedury main() definiuję zmienną strukturalną beż żadnych modyfikatorów typu volatile, czy static; - programowo wypełniam jej pola wartościami; - z main() wywołuję inną procedurę zewnętrzną, do której przekazuję adres tej struktury, np. func(&struktura) - func() jest przystosowana do otrzymywania...

    Mikrokontrolery AVR   23 Paź 2009 09:44 Odpowiedzi: 14    Wyświetleń: 2462
  • [STM32F4] TIM2->PSC nie działa z HC-SR04 na STM32F401VCT6

    Hej. Pacjent to STM32F401VCT6 taktowany domyślnym zegarem wewnętrznym 16MHz. Uruchomiłem sensor HC-SR04 wykorzystując TIM2 do zliczania długości impulsu ECHO wykorzystując tryb capture oraz DMA. Do rejestru TIM2->PSC ładuje 15, ponieważ chcę aby wartość CNT inkrementowała się co 1us. Kod źródłowy poniżej: [syntax=c] #include "stm32f4xx.h" static...

    Mikrokontrolery ARM   10 Kwi 2019 22:07 Odpowiedzi: 2    Wyświetleń: 726
  • RC5 atmega8 przypisanie przyciskowi konkretna funkcję

    1. Komentuj bogato swój własny kod, bo sam się w nim pogubisz, a i nam trudniej analizować, nie wiedząc co chcesz w danym fragmencie zrobić. 2. deklarujesz zmienną globalną cod , w przerwaniu nadajesz jej wartość cod=code : 2a. ale jej nie używasz w pętli głównej i nigdzie indziej - do czego więc jest? 2b. aby ją wykorzystać w pętli głównej cod musi...

    Mikrokontrolery AVR   04 Sty 2012 03:05 Odpowiedzi: 1    Wyświetleń: 1010
  • Wielozadaniowość Arduino - obsługa wątków w tle

    Kod funkcji włączania i wyłączania np. diody Ten kod będzie powodował, że po pełnym zapaleniu dioda z powrotem zgaśnie i zacznie się rozjaśniać. Linijka z ifem nic nie robi, bo wartość byte nie może być mniejsza od zera ani większa od 255. Poza tym po wciśnięciu przycisku będzie dodawana nowa funkcja przerwania onLamp() bez usuwania starej i będą ze...

    Mikrokontrolery   05 Maj 2015 17:29 Odpowiedzi: 8    Wyświetleń: 4353
  • LPC1114/302 - Konfiguracja 3 kanałów PWM na jednym timerze (CT32B1)

    Witam, Otóż zainteresowałem się nauką obsługi uC LPC1114/302. Chciałem skonfigurować 3 kanały, na których uruchamiam funkcję PWM na jednym timerze (CT32B1). Do tej pory udało mi się skonfigurować dwa porty : PIO1.1 PIO1.2 ( co widać na Logic Analyzerze) . Nie potrafię wskazać błędu przy PIO1.4. Czy ktoś mógłby prześledzić kod i ew. wskazać błąd ? http://obrazki.elektroda.pl/4923883700_1...

    Mikrokontrolery ARM   18 Paź 2016 13:53 Odpowiedzi: 10    Wyświetleń: 1206
  • [STM32F407-discovery] Nie poprawny wynik pomiaru adc

    Wstawiam poniżej kod programu. Gdy w programie obsługuje tylko adc problem wyglada inaczej. Gdy wzrasta napiecie na jakimkolwiek pinie to następuje interakcja z dwoma pozostałymi analogami. [syntax=c]volatile uint16_t a; volatile uint16_t b; volatile uint16_t c; static volatile uint16_t wyniki[3]; int main(){ fpu_enable(); system_init(); pll_start(CRYSTAL,...

    Mikrokontrolery ARM   10 Maj 2017 13:02 Odpowiedzi: 29    Wyświetleń: 1356
  • avr - prośba o sprawdzenie programu w kwesti oszczędzania energii

    Pod względem oszczędzania mocy powinieneś oszczędzać instrukcje. 1. Niepotrzebna zmienna sleep i jej obsługa. 2. Wielokrotnie wpisujesz wartości rejestrów w pętli (przykładowo ADMUX). Wystarczyłoby chyba zrobić to przed pętlą 3. int x = ADCret(); tego też raczej kompilator nie ma szans zoptymalizować. Lepiej użyć zmiennej globalnej. 4. static volatile...

    Mikrokontrolery AVR   26 Sty 2015 19:56 Odpowiedzi: 10    Wyświetleń: 1161
  • AVR atmega8515 - Jak uniknąć nadpisywania zmiennych globalnych?

    To co niżej zasugeruje nie musi Ci pomóc ale spróbuj wykonać. Zmienną globalną zadeklaruj jako: static volatile DATACNT W ten sposób powiesz kompilatorowi aby ochronił jej stan przed przypadkową modyfikacją. Z problemem nie panowania nad wartością zmiennej globalnej sam biłem sie tracąc czas i nerwy. Jak się okazało przerwania powodowały nadpisywanie...

    Mikrokontrolery   09 Lis 2006 00:54 Odpowiedzi: 8    Wyświetleń: 2865
  • [AVR][C] Czujnik temperatury, prośba z znalezieniu błędu

    static uint8_t onewire_0_reset(void) ; static void onewire_0_WriteByte(uint8_t data); static uint8_t onewire_0_ReadByte(void); #define WIRE_PORT_0 PORTC #define WIRE_DIR_0 DDRC #define WIRE_PIN_0 PINC #define WIRE_CON_0 3 union int16_t_LSB_MSB { struct { uint8_t LSB; uint8_t MSB; }; int16_t XSB; }; union...

    Mikrokontrolery   27 Gru 2010 10:12 Odpowiedzi: 27    Wyświetleń: 3870
  • Linux, SIGSEGV - mam tylko fragment źródeł, jak diagnozować?

    Dodałem zapamiętywanie obsługi sygnałów przed wywołaniem Sequencera, i przywracanie oryginalnego stanu po jego zakończeniu - ale nadal jest SIGSEGV. [syntax=c]#include "epicsThread.h" #include "iocsh.h" #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE 500 #endif #include "extcode.h" #include <signal.h> #include <stdio.h> #include <unistd.h>...

    Programowanie   18 Wrz 2020 19:32 Odpowiedzi: 11    Wyświetleń: 402
  • LPCXpresso konfiguracja środowiska pod "goły" LPC1114 i bootloader

    Faktycznie, temat podlinkowany przez Badmaneq opisuje problem identyczny z moim. Dodałem (a przynajmniej tak mi się wydaje) CMSIS do przestrzeni roboczej, i próbuje kompilować poniższy kod: http://obrazki.elektroda.pl/5455950100_1... Może projekt źle utworzyłem? Tzn nie widzi on folderów które są nad nim w project explorerze? Start kwarcu...

    Mikrokontrolery ARM   22 Paź 2014 20:50 Odpowiedzi: 7    Wyświetleń: 1287
  • ATmega88 - Klawiatura matrycowa, brak reakcji przy wpiętych tranzystorach

    Witam. "Przerabiając" książkę p. Tomasza Francuza "Język C dla mikrokontrolerów AVR" natknąłem się na problem obsługi klawiatury matrycowej w przerwaniach. Klawiatura ma wykorzystywać kolejne ustawianie stanu niskiego na pinach na potrzeby multipleksowania. Niestety wciskanie przycisków klawiatury nie powoduje żadnej reakcji. Co ciekawe (dla mnie) po...

    Mikrokontrolery AVR   09 Wrz 2013 15:28 Odpowiedzi: 6    Wyświetleń: 2892
  • [AVR Studio] Atmega8: Program nie przechodzi do pętli while po sei() w AVR Studio

    Witam. Krótko, program pobiera z rs 8 bajtów(w pętli while ) ,bajt 1 i 2 wpisuje na pwm a w T2 wysyła prędkość a problem polega na tym że w debuggerze po włączeniu sei program nie chce przejść do linii, gdzie rozpoczyna się pętla while i nie wiem dlaczego (nie działa nawet gdy nie ma ustawionych żadnych rejestrów )(zew kwarc 4mhz). Z góry dziękuję za...

    Mikrokontrolery AVR   10 Kwi 2011 23:36 Odpowiedzi: 3    Wyświetleń: 1997
  • Jak debugować STM32F103C8T6 z Ubuntu 18.04 i ST-Link/V2?

    funkcja main zawiera tylko nieskończoną pętlę z definicją zmiennej, aby sprawdzić, czy debugger zatrzyma się na zaznaczonym breakpoincie, niestety tak się nie dzieje. Zdefiniuj zmienną static albo globalną, z atrybutem volatile lub wyłącz optymalizację.

    Mikrokontrolery ARM   19 Maj 2020 14:25 Odpowiedzi: 53    Wyświetleń: 4197
  • Dlaczego oscyloskop na ATMega32 zniekształca przebieg trójkątny?

    volatile short unsigned int bufor[314]; volatile uint8_t flaga; static uint8_t x=314; ISR(ADC_vect) { if(flaga-==1) bufor[x]=(ADCL | (ADCH<<8)); x--; if(x<1) flaga=0; } ... int main(vpid) { short unsigned int bufor2[314]; ... sei(); ... //Włączenie...

    Mikrokontrolery AVR   29 Mar 2011 22:36 Odpowiedzi: 29    Wyświetleń: 2513
  • [Atmega8][C++] - ADC i wyświetlacz 7seg nie współpracują

    Nie możesz odczytywać kilka razy pod rząd ADC, bo w trybie konwersji ciągłej może się zdarzyć, że wartość zmieni się w trakcie Twojej zamiany. Jeśli np. zmieni się z 99 na 100, to wyświetlisz 199. % 1000 % 100 to też to samo, co %100. Nie ma też sensu zmieniać wartości wyświetlanej aż tak często - do odczytu przez człowieka max. kilka razy na sekundę....

    Mikrokontrolery Początkujący   09 Mar 2013 11:02 Odpowiedzi: 8    Wyświetleń: 2085
  • LPC1343 - z jaką predkośćią pracuje i opóźnienia

    (at)Badmaneq: Moją funkcje SystemInit mam w głównym pliku projektu, tam gdzie jest funkcja main. I wywołuję ją zaraz po wejściu do main. To gdzie mam wrzucić SystemInit ? (at)BlueDraco: Czy w tym numerze Elektronika Praktyczna 2014/4 "32 bity jak najprościej. STM32F0 - nieblokująca obsługa wyświetlacza LCD ze sterownikiem rodziny HD44780. cz. 4" znajduje...

    Mikrokontrolery   27 Sty 2015 13:44 Odpowiedzi: 12    Wyświetleń: 1233
  • WinAVR: Jak poprawnie zdefiniować zmienną volatile dla ATMega8?

    Taki zapis ( definicja )powinien być w jednym pliku C (zmienna globalna) volatile unsigned char stan = CZEKAJ; w pliku headera (chyba sensor.h) tylko deklaracja extern volatile unsigned char stan; w żadnym wypadku nie można dawać w headerze (pliku *.h) includowanym do wielu plików *.c definicji zmiennej statycznej static unsigned char stan = CZEKAJ;...

    Mikrokontrolery   07 Gru 2006 11:02 Odpowiedzi: 2    Wyświetleń: 1949
  • Atmega8 - Timer0 nie odlicza 1 sekundy przy 12MHz i preskalerze 256

    Poza tym to: TCNT0 = 130; Powinna być pierwszą instrukcją w przerwaniu, a tak w ogóle polecam poczytanie o trybie CTC - nie będzie trzeba martwić się o ciągłe ładowanie wartości timera. EDIT: A problemem właściwym jest nadmiarowy średnik, o tu: if(licznik == 375); jak go wywalisz to będzie w miarę OK. A zmienna nie musi być w tej sytuacji volatile,...

    Mikrokontrolery Początkujący   19 Lut 2013 14:47 Odpowiedzi: 4    Wyświetleń: 1113
  • Miernik częstotliwości na ATmega16 - przerwania i liczniki T0, T1

    Uwaga! 1) Jeżeli zmienną licznik będziesz miał zadeklarowaną wewnątrz funkcji obsługującej przerwanie to przykładowa deklaracja powinna wyglądać tak: static uint8_t licznik = 0; 2) Jeżeli natomiast zmienną licznik zadeklarujesz gdzieś w programie głównym, wtedy powinieneś ją przykładowo zadeklarować jako: volatile uint8_t licznik = 0; po co te "przedrostki"...

    Mikrokontrolery   15 Lut 2008 16:19 Odpowiedzi: 12    Wyświetleń: 3426
  • LPC1768 - brak reakcji na przesuwanie po ekranie dotykowym TSC2046

    Dotychczas obsługiwałem panel dotykowy badając w pętli głównej stan pinu z przetwornika TSC2046 działało to dobrze dopóki kod w pętli głównej się nie rozrósł. Wpadłem na pomysł, żeby podpiąć pod przerwanie lecz co prawda dotknięcie jest sygnalizowane ale kiedy nadal trzymam dotyk i przesuwam po ekranie brak reakcji. Oto mój kod: [syntax=c] uint8_t stan_TP...

    Mikrokontrolery ARM   12 Wrz 2014 20:42 Odpowiedzi: 1    Wyświetleń: 1122
  • [atmega16] [atmega16][c] Jak zainicjować stos z makrem RAMEND dla różnych procesorów?

    Interesuje mnie jak napisać kod korzystając z makra RAMEND które od razu uzupełni rejestr Y. No przecież już go napisałeś: static void __start(void){ asm volatile ( "out __SP_L__, %A0" "\n\t" "out __SP_H__, %B0" "\n\t" "clr __zero_reg__" "\n\t" "out __SREG__, __zero_reg__"...

    Mikrokontrolery AVR   26 Lut 2010 20:44 Odpowiedzi: 6    Wyświetleń: 3726
  • Symulacja UART w AVR Studio dla Atmega128 - jak to zrobić?

    W AVR306 mozna znalezc taki kod obslugi USARTA dla atmegi128: #include <avr/io.h> #include <avr/iom128.h> #include <avr/ina90.h> /* UART Buffer Defines */ #define USART_RX_BUFFER_SIZE 128 /* 2,4,8,16,32,64,128 or 256 bytes */ #define USART_TX_BUFFER_SIZE 128 /* 2,4,8,16,32,64,128 or 256 bytes */ #define USART_RX_BUFFER_MASK ( USART_RX_BUFFER_SIZE...

    Mikrokontrolery   26 Kwi 2005 19:58 Odpowiedzi: 3    Wyświetleń: 1471
  • STM32F401 Nucleo - Nie działa odczyt z DHT22, brak przerwań TIM3

    Error message from debugger back end: value has been optimized out To chyba wszystko tłumaczy. Zmniejsz poziom optymizacji albo zrób je tymczasowo static lub volatile. Ja czasami w czasie debugowania, jak nie jest to problem, robie z volatile aby przy kazdej operacji zapisywane były w pamieci. Proponuje zapoznać się z poradnikiem kolegi szczywronka...

    Mikrokontrolery ARM   12 Cze 2016 18:16 Odpowiedzi: 5    Wyświetleń: 1134
  • [C][Atmega8A] - Prośba o sprawdzenie kodu do debouncingu styków przycisków

    KEY=((PIND & 0x01) & 1); 1. Nazw zmiennych zwyczajowo nie pisze się wielkimi literami 2. Wystarczy: key = PIND >> NR LINII PRZYCISKU & 1; - w ten sam sposób dla każdego przycisku. 3. Nie ma sensu deklarować zmiennych związanych ze stanem przycisków poza procedurą przerwania timera, bo nie są one nigdzie więcej potrzebne. Zmienne keystate powinny mieć...

    Mikrokontrolery AVR   25 Mar 2013 00:35 Odpowiedzi: 4    Wyświetleń: 1302
  • UART Atmega8 przesylanie wartosci z ADC i generowanie PWM

    Tak krótki komunikat można obsługiwać w przerwaniu od odbiornika UART. Przykładowo, kiedyś robiłem tak: [syntax=c]// Przerwanie odbiornika ISR( USART_RX_vect ) { static volatile uint8_t i=0; uint8_t znak; znak = UDR; // pobranie znaku z bufora sprzętowego switch(stank) { // Jeśli pojawi się znak $ pobierz komunikat case 1: if(znak=='$') stank=2; else...

    Mikrokontrolery AVR   21 Kwi 2016 22:34 Odpowiedzi: 25    Wyświetleń: 1482
  • Błąd kompilacji przy użyciu bibliotek GSM i PCF8574 w Arduino - jak to naprawić?

    To jest w PCint.h #include "pins_arduino.h" volatile uint8_t *port_to_pcmask[] = { &PCMSK0, &PCMSK1, &PCMSK2 }; static int PCintMode[24]; typedef void (*voidFuncPtr)(void); volatile static voidFuncPtr PCintFunc[24] = { NULL }; volatile static uint8_t PCintLast[3];...

    Arduino   10 Mar 2016 20:49 Odpowiedzi: 7    Wyświetleń: 1239
  • Jak odczytać adres funkcji __stop_program w AVR-GCC?

    Chciałbym aby program wiedział ile zajmuje pamięci flash. W asm było to proste, to co umieściłem w ostatniej linijce kodu źródłowego (np tekst "END OF CODE", zajmowało ostatnie bajty pamięci, w C tak nie jest, bo w przypadku AVR-GCC teksty znajdują się zaraz za wektorami przerwań. Na szczęście, funcje z sekcji ".fini" znajduja się na końcu kodu: [syntax=avrasm]...

    Mikrokontrolery AVR   21 Gru 2017 09:53 Odpowiedzi: 1    Wyświetleń: 693
  • Dekodowanie sygnału DCF77 na ATmega - synchronizacja czasu bez GPS

    U mnie (Katowice) z DCF77 nie ma problemu, oczywiście zdarza się, że przez jakiś czas nie działa, ale przecież nie musi - wystarczy że złapie sygnał od czasu do czasu. Z tego co zauważyłem, to strasznie przeszkadza w odbiorze DCF77 komputer. Kiedy miałem zasilane układy przez USB to generalnie był problem, gdy je zasilałem osobno - z sieci lub z baterii...

    Mikrokontrolery AVR   09 Mar 2023 17:01 Odpowiedzi: 27    Wyświetleń: 10098