No a zdradź mi tajemnice dlaczego to mają być przerwania a nie callback-i. Nigdy nie pisałem funkcji z callback-iem, nie miałem jeszcze takiej potrzeby. Tak ogólnie chodzi o to by stworzyć licznik 50Hz, zmienną, którą będę inkrementował, i stworzyć event, który co 50 przerwań (tj 1Hz)...
Witam, Planuję wykorzystać timer atmegi8a do generowania sygnałów PWM których zadaniem będzie sterowanie 2 silnikami. Mam jednak kilka problemów z wyborem odpowiedniego rozwiązania, które wynikają z niezrozumienia sposobu działania. Stąd kilka pytań: 1.) Wedle datasheet atmega8a ma...
Nie powinno ;) The extreme values for the OCR2A Register represent special cases when generating a PWM waveform output in the fast PWM mode. If the OCR2A is set equal to BOTTOM, the output will be a narrow spike for each MAX+1 timer clock cycle.
Hmmm, no ale przecież jak timer doliczy do MAX (OCR1A) to sam się wyzeruje i powinien liczyć od nowa. Owszem, ale co to ma wspólnego z pinem PB2? w takim razie kiedy mogę lub wyzeruje się PORTB.2? W tym trybie? Nigdy. Sam musisz go wyzerować. Przeczytaj opis: "1 1 Set OC1A/OC1B on Compare...
1. Nie definiuj F_CPU w kodzie programu z tych powodów: 2. The OCnA value will not be visible on the port pin unless the data direction for the pin is set to output (DDR_OCnA = 1). o czym pisał już kol. BlueDraco.
A change of the COM1x1:0 bits state will have effect at the first compare match after the bits are written. For non-PWM modes, the action can be forced to have immediate effect by using the FOC1x strobe bits. Być może w tym jest problem. OC1A jest prawdopodobnie inicjowane z wartością 0...
Jest gdzieś skrótowa dokumentacja do ustawień CubeMX, aby zaczynający programista się nie zniechęcił? Nawet jeśli korzystasz z CubeMX to zacznij najpierw od jakiejś literatury. "Poradnik Szczywronka" takie rzeczy dość łopatologicznie tłumaczy tzn. podstawy działania timerów (i nie tylko). Na...
Witam, piszę sobie taki oto kod i spotykam dziwne zachowanie układu. W skrócie: Jest sobie kontrolny debug na terminal , a po nim jest wywołanie funkcji. W efekcie podejrzana funkcja sprawia że debug który w kodzie jest przed nią się nawet nie pojawia. Sęk w tym że w podejrzanej funkcji...
dobra, obiecany gotowiec i przy okazji manual pt "jak korzystać z manuala". W naszej przeglądarce wpisujemy adres www.google.pl Wpisujemy tam Atmega8, po załadowaniu się strony z rezultatami klikamy w link posiadający w tytule "datasheet" i sprawdzamy czy jest on z atmela. Po pomyślnym otwarciu...
Poprawiłem na timer2, kompiluje się, proteus też nie pokazuje błędów ale nic się nie wyświetla. Dobrze naniosłem poprawki przy zmianie z timera0 na timer2? /* ** Project: Delay Functions ** Purpose: Define a series of functions to delay for a specified ** time -- every millisecond...
To może wgraj oryginalną zawartość z Nucleo F411 jaka jest w nówkach na dzień dobry, by przynajmniej sprawdzić Nucleo plus ST-link. On tam miga i reaguje na przycisk może pamiętasz: No jest jakiś postęp chociaż nie wiem czy można to nazwać postępem. Wgrałem ten program, wyrzucił...
Tym razem ja edytowałem gdy, ty pisałeś - zobacz bity COM1A1 i COM1A0 w rejestrze TCCR1A: Bit 7:6 – COM1A1:0: Compare Output Mode for Compare unit A Bit 5:4 – COM1B1:0: Compare Output Mode for Compare unit B The COM1A1:0 and COM1B1:0 control the Output Compare pins (OC1A and...
No i to działa, tylko na odwrót (OCR0B = 255 oznacza całkowicie wygaszony LED). W zasadzie jest to poprawne działanie przy takim podłączeniu diody. To jest poprawne, czy nie jest - zdecyduj się :) Odpowiadam: Nie jest poprawne. 1. w nocie katalogowej Attiny13 tryb PWM ustawia się...
O, widzę, że ktoś oprócz mnie również ma ten problem :D Przede wszystkim musisz uwzględnić ten pin SS, o którym wspomniałeś, bez tego ani rusz. Za każdym razem gdy coś wysyłasz po SPI musisz ustawiać SS na zero, a po wysłaniu SS na 1. Warto również zajrzeć do bibliotek, które udostępnia...
Witam ponownie! Ta noc była długa. Z pomocą wyszukiwarki znalazłem pwm_set_duty(0, 0); oddziałuje na PC1 zamiast na PC0. Trochę mi głupio, bo zawodowo zajmuje się programowaniem od prawie 5 lat, jednak przez ten czas nie korzystałem z przesunięć bitowych ani w ogóle z C więc...
O licznik to raczej jestem spokojny. Bardziej mnie niepokoją te przerwania na int0. No 16-bitowym timerem to nie sztuka zrobić taki spowalniacz :-) ale akurat 2313 nie mam na stanie, a np. dużą ATmegę 8 pakować do modelu w takim celu to jak armata na muchy. Ale w przyszłości na pewno się zabiorę...
Witam udało mi się ustawić tak jak chciałem Kod wygląda tak: // main TCCR2 |= (1 << WGM12); // Ustawia timer1 w tryb CTC OCR2 = 250; // zliczanie do tej wartosci TCNT2 = 0; TCCR2 |= (1 << CS20) | (1 << CS21) | (1 << CS22); ...
Witam, Próbuję wykorzystać funkcjonalność DMA burst aby pobierać wartości rejestrów ARR, RCR i CCR1 przy każdym update event timera 1 z tablicy bez zajmowania procesora. Program działa prawidłowo po wystąpieniu pierwszego przerwania UEV od TIM1, lecz kolejny transfer danych wprowadza inne...
Kurka, namieszane... Nie bardzo wiem jak to zrobić z tym porównaniem. Naprowadź mnie. 1. Ustawiam licznik na daną częstotliwość występowania przerwania (powiedzieliśmy 1kHz). Z każdym nowym okresem załączamy wszystkie diody i inne urządzenia podpięte do pinów 74hc.. W tym miejscu...
Wydaje mi się, że nie dobrze zrozumiałeś co to jest One Pulse Mode, dlatego masz problem z konfiguracją W tym trybie nie ma konieczności wyłączenia timera poprzez: TIM2->CR1 &= ~TIM_CR1_CEN; bo on sam się wyłącza (przestaje liczyć) zgodnie z ustawieniami. Ja do tego zadania użyłbym...
Nie zerowałem konkretnych flag przerwania od CCRx. Dziękuję za pomoc. Działający kod dla stm32f05: [syntax=c]timer2_init(void) ... |= RCC_APB1ENR_TIM2EN; TIM2->PSC = 4799; // Set prescaler TIM2->ARR = 100; // Auto reload value TIM2->CCR1= 20; TIM2->CCR2=...
Potrzebuje zmierzyć częstotliwość w zakresie do 200kHz(w tym przypadku 3,2MHz) procek: to ATmega8 Kombinuje jak koń pod górę, na czym polega mój błąd ? Timer 2 odmierza czas 1s. Timer 1 w założeniu ma zliczać impulsy z zewnatrz. (wartość 0xFF w OCR1A,-impulsy dochodzą z T1,-po zrównaniu...
Witam. Jestem emerytem (64l.) i zaczynam dopiero przygodę z Arduino. Znalazłem ciekawy projekt miernika kondensatorów (w dziale DIY zagranica) i chciałem go wykonać. Jednak przy wgrywaniu programu wyskakuje błąd kompilacji. Czy może z kodem jest co nie tak? Proszę o pomoc. Pozdrawiam. JN W...
Poniżej obiecany schemat. Narazie nie ma jeszcze tranzystora T1 i wejścia 'Światło'. Do testów jest TxD. Nie ma też jeszcze optotriaka, jest tylko dioda LED1. A tu biblioteka USART. [syntax=c]/* Software ("bit-bang") UART Transmitter (8 data bits, 1 stop bit, no parity) for...
Zasada jest prosta: - jeżeli nie jesteś pewien, a nie chce Ci się sprawdzać datasheet, ustawiasz pin jako wyjście i po kłopocie, - porawne rozwiązanie - sprawdzamy datasheet: The general I/O port function is overridden by the Output Compare (OC0) from the Waveform Generator if either of...
RDS sam zrobiłem , miałem tylko HEX i kod w asemblerze [code][syntax=avrasm] ;****************... RDS decoder with 2x16 LCD for ATtiny2313-10 (main procedure) ;** by Michael Wolf ;** ;** contact: michael(at)mictronics.de ;** homepage:...
Atmega32 ma rejestr TIFR, czyli usuń "1". [syntax=asm]; Clear interrupts (if any happened). sbi _SFR_IO_ADDR(TIFR), OCF1A[/syntax] ; TIFR - Timer/Counter Interrupt Flag register .equ TOV1 = 2 ; Timer/Counter1 Overflow Flag .equ OCF1B = 3 ; Output Compare Flag 1B .equ OCF1A = 4 ; Output Compare...
Cześć Przede wszystkim musze powiedzieć że nie znam sie ani odrobine na asemblerze . Mamy tu koder do 4kanałowego sterowania proporcjonalngo w asm'ie na attiny 15. teraz pytanie -czy da sie przerobić kod tak ,aby miał ich 7 lub 8kanałów i wrzucić go do Attiny 26 ?? I czy to koder PPM?? PS...
W takim razie: w jak sposób i w którym miejscu następuje podłączenie głównego pliku irmp.c z poziomu irmp.h? W źródłach IRMP są przykłady jak używać z konkretną rodziną procków. irmp_get_data Powyższy plik mógłby być po prostu bazą dla twoich funkcji. Najważniejsze...
Witam, bardzo proszę o pomoc. Zrobiłem układ na Atmega32 z podłączonymi diodami do całego PortuA, oraz do PortuB Pin2 (PB2) dekoder podczerwieni TSOP31236 (testowałem też na TSOP31238). Wykorzystać chciałem bibliotekę IRMP a w załączniku spakowany cały projekt z plikami biblioteki...
Robienie nadajnika IR na AVR jest dość proste. Przede wszystkim polecam ze strony www.atmel.com/avr w dziale Application Notes do przejrzenia właśnie taki projekt. Tam jest użyte Attiny 28 ale to nie ma tak naprawdę znaczenia. Generalnie podpinasz diodę do jakiegoś pinu output compare i na...
Wykonuje przerwanie na procesorze Atmega128 pisząc program w C output compare i stosuje uchwyt w przerwaniu SIG_OUTPUT_COMPARE3A no i w tym trybie przerwanie mi działa jeżeli użyje uchwytu przerwania SIG_OUTPUT_COMPARE3B (odpowiednio) pozmieniam rejestry to niestety nie działa oto kod procedu najważniejszych: ...
Do takiego zadania można lepiej dobrać mikrokontroler i wtedy nie ma tyle roboty ;) Polecałbym zastosowanie mikrokontrolera z rodziny HCS12 - chociażby dostępny w samplach MC9S12A64, posiada 8 16bitowych kanałów Input Capture/Output Compare, do tego 4PWMy 16bitowe (8 8bitowych), ponadto na...
Witam, Mam kolejny problem niestety. Chciałbym użyć drugiego kanału Timera 2 do generowania sygnału na danym pinie w sposób sprzętowy (czyli nie tak, ze w obsłudze przerwania ustawiam sobie ten pin na 1 i 0...). W manualu jest napisane (tabela 43), że TIM2_CH2 przy braku remapingu jest podłaczony...
Witam! Mam problem z projektem na STM32. Chciałem użyć pamięci flash do zapamiętania potrzebnych mi parametrów. Problem pojawił się przy czyszczeniu flasha. Po wywołaniu FLASH_ErasePage dostaję flagę FLASH_FLAG_BANK1_EOP,co wydaje się całkiem prawidłowe. Program wraca do pracy z tym,...
Tak sobie obserwuję co jakiś czas ten temat i przyznam szczerze, że jestem pełen podziwu dla kolegi autora za upór, tyle że nie w dążeniu do rozwiązania problemu a do skomplikowania go sobie i utrudnienia życia ponad wszelką miarę. Masz rezystor podciągający? Niektórzy o nim zapominają....
Fajnie zrobiony dostęp do bitów. Od kiedy to jest w Bascomie ? Prawie od zawsze! Czy w takim razie teraz zamiast Portb.0 powinienem dawać Portb.portb0 ? Wszystko powie Ci plik *.DAT Twojego procka. Np. dla ATtimy2313: [CONST] ;***** BIT DEFINITIONS PORTB0 = 0 ; Port B...
Witam. Przedstawiam kod w którym masz wszystko wyjaśnione: [syntax=c] //Set PORTB1 pin as output DDRB=0xFF; //TOP=ICR1; ... compare OC1A 8 bit non inverted PWM //Clear OC1A on Compare Match, set OC1A at TOP //Fast PWM //ICR1=20000 defines 50Hz PWM ICR1=20000; TCCR1A|=(0<&l...
Poszukałem, poczytałem, wypociłem coś takiego: [syntax=c] ... ISR(TIME... { if(ssek == 124) { sek = sek + 1; ssek = 0; } ssek = ssek + 1; TCNT1 = 0; } int main(void) { OCR1A = 0x7C; // do 124 TCNT1 = 0x00; TCCR1A...
Z tego co wyczytałem to rejestr TCCR2 w M168 jest podzielony na 2 rejestry TCCR2A i TCCR2B, zgadza się ? Gdzie to wyczytałeś? W dokumentacji? Jeśli tak to w jakim celu pytasz się, czy to prawda? :D Zestawienie rejestrów związanych z ustawianiem Timer2: 18.11 Register description . ....
Witam, rozpoczynam zabawę z C++ na mikrokontrolerach AVR i już przy pierwszym podejściu przepisania prostej biblioteki (mojego autorstwa) natrafiłem na problem... Sprawa dotyczy obiektów, które mają być używane w zwykłym programie, jak i w procedurach obsługi przerwań. Standardowym podejściem...
Witam wszystkich, rzadko pisze bo zwykle jakoś sobie radzę, ale po trzech dniach walki jestem zdesperowany i zaczynam szukać pomocy u Was. Zrobiłem emulację odbierania RS232 na nóżce INT0. Zbocze opadające oznacza że mamy bit startu. Tak startuje odbieranie: [syntax=c] ISR(INT0_vect){...
Kolega excray chce Ci powiedzieć, że kiedy ustawisz timer w tryb CTC, to flaga OCF1B (czyli ta od Output Compare B) też jest ustawiana, tylko z przesunięciem czasowym równym wartości rejestru OCR1B (chyba że do OCR1B wpiszesz wartość większą niż do OCR1A - wtedy flaga nie zostanie ustawiona,...
Jeżeli chodzi o pierwszy warning w tej bibliotece dotyczy SIG_USART_TRANS w sekcji __AVR_ATmega169__ [syntax=c] /* * FreeModbus Libary: AVR Port * Copyright (C) 2006 Christian Walter <wolti(at)sil.at> * - Initial version + ATmega168 support * Modfications Copyright (C) 2006 Tran...
Postanowiłem zmienić to faktycznie na TIMER (pracujący w trybie CTC). Jednak napotkałem na problem wysyłanie danych do PWM realizowane jest przez zewnętrzną funkcję, która odpowiedzialna jest za kolejne odczytywanie klastrów/sektorów z karty. Wy mogę te odstępy czasu realizować poprzez...
mógłbym prosić kawałek kodu odpowiadający za wyświetlenie odpowiedniej cyfry zgodnie z aktualnym czasem i o wyzwalanie przerwań?. Niestety biegły w programowaniu nie jestem Tylko musiesz się nauczyć co to robi, kopiowanie na pałę bez zrozumienia nic Ci nie da. [syntax=c] // Nixie...
Przykładowy pełny program poniżej. Kompiluj najlepiej w CodeVisionAVR, nie będzie niespodzianek. Program można znaleźć pod adresem zawartym w ramce (wersja free). Dołączam też pliki .C .cof .hex .map i dla dociekliwych .asm i .lst Pozdr tOMmy /***************...
[syntax=c]Error RTC_Initialize (struct RTC_init *initParemeters) { Error ret = NO_ERROR; TCCR2 = 0; //stop timer initialized = false; if (NULL != initParemeters) { lastInitParams.onSecChangedCbf = initParemeters->onSecChangedCbf; ... else { lastInitParams.onSecChangedCbf = NULL; } //AS2...
Najlepiej jest iść po kłębku: TIM_OCMode wpływa na tmpccmrx, który trafia do CCMR1/CCMR2. TIM_OCMode_x obejmuje bity 6:4, tak więc odpowiada za pole OCxM kanałów. Według RM0008, wartość reprezentowana przez TIM_OCMode_Timing przekłada się na 000: Frozen - The comparison between the output...
100 Dodano po 4 Nie patrz na komentarze typu "2Hz", bo to kopiowane, bedę czyścił potem:) Rejestry ARR, PSC są tak samo 16 bitowe jak w TIM2,3,4. Dodano po 1 Jest gdzieś jakaś różnica, bo nie potrafię włączyć zadnego PWM na timerach 15, 16, 17: Dodano po 45...
Mam dość dziwny problem. W procesorze STM32F100RB mam uruchomione 6 timerów. Mają one sterować silnikami krokowymi. Silniki już mają sterowniki, posyła im sie tylko czestotliwość proporcjonalną do prędkości obrotowej i bit kierunku obrotów. Są to dość duże silniki, a całe urządzenie...
To ja wklejam swoje, co mam: Inicjalizacja SPI, GPIO i PWM dla podswietlenia: [syntax=c] //------... LCD_Configuration(void) { RCC->APB... |= RCC_APB2ENR_SPI1EN; SPI1->CR1 = SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_MSTR...
Udało mi się skonfigurować tak jak chciałem, Więc zostawiam kod dla innych: void Init_Timer(){ count=1; //Reset ounter TCNT0 = 0; // Reset timer TCCR0 |= (1<<CS02) | (1<<CS00) | (1<<WGM01); // Set prescaler 1024, Set CTC...
To właśnie zostało uruchomione - musi działać. Pisane pod WinAVR [syntax=c] #define SET(port, bit) port|=(1<<bit) #define RESET(port, bit) port&=~(1<<bit) #define NOT(port, bit) port^=(1<<bit) //Przerwanie wywolywane 100 razy na sekunde ISR(TIMER1_COMPA_vect)//...
Tak to jest, kiedy nie sprawdza się stanu przycisków w przerwaniu timera... Wracam do tematu, bo zrobiłem własny projekt zamka na szyfr z wykorzystaniem klawiatury szesnastkowej i czterech siedmiosegmentowych wyświetlaczy. Wszystko ładnie działa, tylko napisałem obsługę klawiatury z wykorzystaniem...
Witam Zastanawia mnie pewna rzecz związana z projektem na stm32f103rct6. Wykorzystuje mikrokontroler z jednoczesnym użyciem usb i tim1. Usb(dp) i tim1(ch4) współdzielą pin. Ja z tim1 chce używać tylko kanałów 1 i 2. Po przeczytaniu dokumentacji da sie wprowadzić wyjścia compare match w stan...
Cześć, Mam drobny problem. Chciałem na szybko wykonać sobie tester silników krokowych. Użyłem tego co pod ręką wygodne do szybkiej realizacji testera (a że armata na wróble wyszła to mało istotne). Na panelu tft jest sobie slider do regulacji prędkości (parametr speed w zakresie 0-500)....
Udało mi się zapisać pierwszą stronę pamięci, potem modyfikowałem program i chciałem zapisać kilka stron - za każdym razem zapisywała się tylko 1 strona poprawnie aż w końcu zapisuję tylko pierwszą stronę i to błędnymi danymi. Długa noc przede mną... wrzucam w zasadzie cały...
Zaznacze na początku, że nie jestem jeszcze zbyt mocny jeśli chodzi o mikrokontrolery. Napisałem (na podstawie kodów znalezionych w sieci) programik, który za pomocą przycisków pozwala zwiększać/zmniejszać wypełnienie sygnału (PWM) i traktuje nim diodę. Chciałbym za pomocą dwóch innych...
ElKuba, a czy atmega8 i AtMega16 masz fabrycznie nowe, czy od kogoś ? Może ktoś wpisał fuse jak już napisałem w pierwszym poście: ...Napisany program testuję w programie Proteus 6.5. ... I teraz mam pytanie czy jest to problem wynikający z niedociągnięć programu proteus... Tak więc...
Po pierwsze: jak często jest ono zgłaszane? Przerwanie jest zgłaszane z częstotliwością 1 kHz. DCMI odbiera dane non stop. Po trzecie: co robi AKTUALIZUJ_PWM (pwm_lookup_table aktualizuje rejestr PWM poprzez wywołanie funkcji [syntax=c]TM_PWM_SetChannelPercent(&...
Witam Na zajęcia mam zrobić taki projekt : "11. Program – stoper, z komunikacją z PC: obsługa klawiszy klawiatury matrycowej: 1 – start; 2 – stop; 3 – wznów; 4 – kasuj; 5-wyślij do PC;" Posiłkuje się tą stroną : #include <avr/io.h> #include...
Tylko że Aktualnie po wyzwoleniu na każdym wyświetlaczu widać odliczenia: 1,2,3....9. Widzisz zapalone cyfry czy ich przeciwieństwo ? Witać jakieś szalone cyfry, ani to przeciwieństwo, ani logiczne wyniki. Na czas prób wyświetlania można by zmienić linię disp=(clock_second*100)+clock_millisec...
Problem z resetowaniem rozwiązany. Obecnie nie mogę poradzić sobie ze zwiększaniem czas_c w ISR(WDT_vect). Jeśli używam czas_c ++ wszystko działa, gdy próbuję użyć if (stan==1 czas++) już nie zlicza [syntax] // Libraries #include <avr/io.h> // for...
Witam. Mam do sprzedania 3 płyty ewaluacyjne dla mikrokontrolerów ARM SAM7S. Płyty są zgodne pinowo z mikromodułami MMsam7s firmy Propox wiec mozna w nich stosowac własnie te moduły. Ponadto jak ktos bedzie zainteresowany mam równiez własne moduły do tych płyt. Ułady ARM SAM7S...
Pracuję właśnie nad takim projektem, aby kontrolować kursor myszki w kompie za pomocą pilota.. Oprogramowałem odbiór/dekodowanie podczerwieni - działa. Oprogramowałem połączenie z PC tej myszki jako urządzenie klasy HID - działa. Niestety dwa w/w działają, ale tylko oddzielnie, tzn.: -...
Dzieki ksz o to mi właśnie chodziło ! Mam tylko jeszcze jedno pytanko jak napisac programik aby np na dany kod przycisku ( 0x00000000000009F6) zmieniał stan portu ! Niezabardzo mam pomysł jak to zrobic w bascomie ! myśle nad podpięciem pod int0 tylko niewiem jak program ma mniej więcej wyglądac...
Zacznę od końca (przejrzałem oryginalne źródła): 3. put_char() by wysłać znak czeka, aż flag_tx_ready będzie inne od 0 (FALSE) Akurat odwrotnie. Czeka, aż flaga stanie się FALSE, czyli aż zakończy się bieżąca transmisja. Przy okazji. W deklaracjach zmiennych współużywanych...
I teraz czy warto podłączyć go pod wyjscie jakiegoś Timera czy też Countera? Jeśli już to pod wejście timera. Możesz też pod wejście input capture, wejście przerwania zewnętrznego, albo pod dowolny pin i wtedy z odpowiednią częstotliwością go odpytywać. Dwa PWM mam wbudowane, muszę...
Witam wszystkich, Od mojeo pomotora dostalem zadanie zrozumienie i przekonfigurowanie programu napisacego w C pod bilbioteke avr-gcc pod Atmeta. Otóz nie bardzo rozumiem co program ma w rzeczywistosci robic (wynika to z mojej . . . miernej znajomosci tematu ;( ) Prosze was o pomoc. Poniżej zamiescilem...
Witam. Posiadam do sprzedania minimoduły z procesorem ARM AT91SAM7S64. Układy ARM SAM7S64 zastosowane w modułach cechują się następującymi parametrami: • 32-bitowy rdzeń ARM7TDMI • 64kB programowanej w systemie pamięci programu typu FLASH • 32kB...
Witam. Mam problem z przetwornikiem A/C w ATmega16. Chciałem aby wyniki były wyświetlane tylko w momencie kiedy wartość w timerze 0 zrówna się z wartością w OCR0 - ale tylko co drugi raz. Dlatego też dałem switch(cykl). Wyjście OC1A jest podpięte do wejścia timera 0. Wiem że to dziwnie,...
Jak za pomocą funkcji Input Capture wygenerować PWM? mam takie pytanie na egzamin no i się zastanawiam... bo wiadomo, o wiele łatwiej jest wygenerować PWMa za pomocą Output Compare, a czy da się to zrobić za pomocą IC? myslałem o tym, żeby wyjscie na którym PWM ma być wygenerowany,...
Co do pierwszego postu: To jest wynik pisania czegoś takiego jak "TIMSK = 0x80;" W ten sposób załącza się przerwanie OCIE2:"Timer/Counter2 Output Compare Match Interrupt Enable" a nie TOIE2:"Timer/Counter2 Overflow Interrupt Enable", który jest bit niżej. W symulatorze dokładnie widać, że...
PWM generuje przebieg o zmiennym wypełnieniu, CTC może generować tylko różne częstotliwości przy wypełnieniu 50% i przerwanie okresowe. Oczywiście korzystając z dodatkowych kanałów output compare można zrealizować zbliżoną funkcjonalność. Dlatego na dobrze zaprojektowanym mikrokontrolerowym...
Po 1) użyj znaczników [code]... Po 2) funkcje inline _delay_us i _delay_ms muszą być wywoływane z argumentami o wartości znanej w trakcie kompilacji (stałe) - było o tym wielokrotnie na forum. [url=]Dokumentacja. Po 3) co do inline asm to zobacz [url=]dokumentację. Do pomiaru okresu możesz...
Chce zbudować prosty generator przebiegów zmiennych. Interesuje mnie przede wszystkim sinusoida 1kHz, ale nie pogardzę też innymi przebiegami i i regulacją częstotliwości. Napisałem (a raczej zmodyfikowałem kod znaleziony w necie): #include <avr/io.h> #include <avr/interrupt.h> const...
Witam Mam pewną wątpliwość/pytanie dotyczące przerwania dla timera1 w trybie CTC. W datasheetcie jest napisane, że mamy dwie niezależne jednostki Output Compare, no więc ustawiam: TCCR1B=(1 << CS10 |1 << CS11 | 1<< WGM12); //przykładowo-ustaw timer1 z preskalerem...
Początkowo też miałem umieścić całą elektronikę z tyłu obudowy jednak ostatecznie zdecydowałem się na bardziej kompaktową konstrukcję. Silnik nie posiada kontroli ani płynnej regulacji obrotów. Częstotliwość pracy ustalana jest za pomocą kondensatorów podłączonych do pinów TDA5140A,...
attiny26 jest idealny do tego - zresztą jak każdy posiadający ADC, tak samo jeśli chcesz sterować 2 diody LED - bo masz w nim , wg noty jak na życzenie: 2 High Frequency PWM Outputs with Separate Output Compare Registers hmmm schemat jakiego wejścia? chodzi ci o schemat dzielnika rezystorowego...
Bez taktowania nic nie będzie działać. Funkcja zapisuje dane pod adresy które są wyłączone, więc możesz tam wpisywać co chcesz.! No to już wszystko jasne, dzięki za pomoc. Co do uruchomienia TIMERA to tez mi się udało, jednak mam jeszcze jeden problem z nim... mianowicie chciałbym...
Po prostu nadawany sygnał kluczuje nośną o czestotliwości ok. 38kHz. Można to zrobiź programowo, lub wykorzystać nieco większego AVRa, który to potrafi zrobić sprzętowo. Np. w DS do ATMegi 1280 zobacz sekcję "Output Compare Modulator".
opis problemu opatrzony jest taką teorią: Set motor speed. Updates the output compare registers of the timer 0 and timer 2 which control the duty cycle of the PWM output and thereby the speed of the motor. The method used ensures that that all PWM channels are behaving same duty cycle. kod...
W projekcie założyłem sobie dwa przerwania z dwóch timerów. Jedno (nazwijmy je A) wywoływane często i krytyczne czasowo (przerwanie musi być obsłużone jak najszybciej po jego pojawieniu się), trwające tylko kilkanaście cykli. Drugie (B) mniej krytyczne (właściwie w ogóle nie krytyczne),...
Rysunek chyba jakiś mały wymowny, tam znajdziesz odpowiedź (; A jak nie, to ustawienia rejestrów do wglądu, bo tak to się nie dogadamy. Znajdziesz to w TIMx w rejestrze CCMRx, bit OCxCE. Fragment opisu: OC1CE: Output Compare 1 Clear Enable 0: OC1Ref is not affected by the ETRF input 1:...
Pomóżcie, bo nie mogę doczytać, jak się kasuje flagę przerwania od output compare match w ISR? Mam tak void TIM4_IRQHandler( void ) { if( TIM4->SR & TIM_SR_CC1IF ) // if on output compare match { TIM4->SR &= ~TIM_SR_CC1IF; ... Ale bit się...
Mam następujący kod programu. Moje pytanie brzmi: Dlaczego program nigdy nie wchodzi do przerwania, a przynajmniej tak pokazuje VMLab, w którym to symuluję. Czy trzeba jeszcze coś w jakimś rejestrze ustawić. Program ma wchodzić do przerwania w momencie kiedy licznik zrówna się z OCR1A. ...
Jako eksperyment z zastosowaniem ATtiny10 wymyśliłem sobie sterownik serw. Nie ukrywam, że natchnął mnie jeden z wcześniejszych projektów z Elektrody. Też chciałem się przekonać, że na takiej małej pchełce można zrobić coś bardziej użytecznego niż migacz diodą. Założyłem...
Mam kilka pytań odnośnie USARTA ATMEGA128. 1. Czy błąd transmisji 0.2% dla kwarca 16MHz będzie miał duży wpływ na transmisję przy przesyłaniu ramki 19 bitowej z komputera do urządzenia. 2. W programie mikrokontrolera AVR co 5ms wywoływane jest przerwanie od timera1 output Compare które...
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){ /*APB... buses clock for ADC enable with...
Od paru godzin męczę sprawę z CTC, czytam na forum i dochodzę do pewnych wniosków, nie wiem czy prawdziwych?: Timer1 16 bit ATMEGA32, kwarc 8MHz preskaler 8 (1 takt = 1us): 1.jeżeli użyję CTC, rejestr OCR1 (OCR1A oraz OCR1B) załaduję wartością 50000 to uzyskam przerwanie dokładnie...
Witam. Nie miałem zamiaru wywoływać kolejnej dyskusji nad tym która rodzina mikrokontrolerów jest lepsza. Na korzyść avr -ów przemawia oczywiście dobry i darmowy kompilator C ale na korzyść pic -ów większy wybór , większa ilość peryferii . Proszę mi pokazać który z avr -ów w przyjaznej...
Do metod Münchhausena to temu daleeeko... ;] Może i jest pewna analogia, gdyż przykład który podałem zwróci właściwy wynik jeśli dokładnie wiesz, jak szybko chodzi timer... Skoro ty chcesz tylko i wyłącznie przekonać się, czy PLL chodzi tak jak powinien, to może nie warto tutaj w...
I znów muszę prosić o pomoc. Poniżej mój program w całości, który... nie działa. Postaram się zaraz wstawić schemat. Co jest nie tak z programem? #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> void init(void) { /* Konfigurowanie...
Z detektora zera sieci dostaje sygnał jak na obrazku niżej. Kwarc 8MHz, po PLL 24MHz. No i mam między innymi [syntax=c]NVIC_SetPriorityGroupi... NVIC_EncodePriority(3, 2, 0)); NVIC_SetPriority(EXTI9_5_IRQn, NVIC_EncodePriority(3, 3, 0)); NVIC_SetPriority(TIM4_IRQn,...
Dlaczego wyskakuje mi błąd "Undefined symbol Init_GLCDPORT?" [syntax=c] /* Includes ----------------------------------------... "main.h" #include "stm32f4xx_gpio.h" /* Private typedef ----------------------------------------... Private...
3 Konfigurujesz Timer w tryb input capture taki sposób aby wyzwalał transfer DMA na którymś tam sobie kanale. Nie prościej właśnie output compare i mieć transfer co ileś tam taktów? 4\/3!!
Więc nie dołączyłem żadnych kondensatorów. Czy słusznie? Słusznie. Zmieniłeś nową funkcję przerwania ISR() i jej wektor na stare (przestarzałe) SIGNAL(): Zmień na ISR(). Szczerze muszę przyznać że nie do końca wiem co ustawiłem w TIFR oraz TIMSK, znalazłem to w którymś...
Witam, chciał bym zrobić prosty filtr cyfrowy oparty na stm32F4 Discovery, częstotliwość próbkowania ustalana była by za pomocą jednego z timerów w tym przypadku TIM1 (oczywiście może być inny). Niestety mam problem z ustawieniem wyzwalania przetwornika ADC1 przy pomocy timera TIM1. Poniżej...
akapit OCR0 – Output Compare Register do przeczytania i dla liczników 8 bitowych maksymalna wartość to 255.
Witam forumowiczów :D! Tworze projekt na zaliczenie - prostą perkusje elektroniczną, która posiada 12 przycisków, czytnik kart SD i wyjście PWM podpięte przez wzmacniacze do gniazda jack. Wszystko do momentu odtwarzania dźwięku działa poprawnie - wartości z pliku czyta prawidłowo (przetestowane...
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...
wg. noty ten PIC posiada MOTOR CONTROL PWM MODULE co wskazywało by na to że te rejestry istnieją (skoro są w nocie katalogowej producenta). Jak dla mnie to trochę dziwne. Output Compare też ma tryb PWM co bardzo mnie cieszy :) Może obejdzie się bez zmiany procka. Dziękuje za pomoc :)
Czyli trzeba zmienić kod wyzwalania timera oraz preskalera tak? Edit: Nie..........., konfiguracja Timera0 jest będna.... 1. Zauważ że, w Mega8 Timer0 nie posiada trybu CTC. 2. Nawet, jeżeli zechciałbyś zamienic go na podobny (kompatybilny) processor z serii 48/88/168/328, lub inny...
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...
Z programowaniem w C za pan brat nie jestem ... Z ATMega32 chyba też nie :-P Output Compare Register (OCR0) are 8-bit register
Glitch free. Typowy układ PWM opiera się na komparatorach. Z jednej strony komparatorów jest licznik stanowiący podstawę czasu, a z drugiej strony rejestry, do których ładuje się wartości, np. w STM32Fxx nazywają się CCRx, a w Xmega nazywają się CCn oraz CCnBUF, w PIC24 lub dsPIC nazywają...
Witajcie. Nie byłem w stanie rozgryźć BASCOMA (no mniej więcej) więc siadłem i zrobiłem w C do Japońca (podajemy masę i na wyjściu mamy masę teraz jeszcze opracować jak podłączyć to do samochodu, żeby wpiąć się równolegle bez przecinania oryginalnej instalacji (tzn moduł ma...
Jeśli jeszcze aktualne :) W ten sposób to obliczasz częstotliwość sygnału, a nie wypełnienie. Powinno być raczej: ts zawiera (bez konieczności przeliczania) czas trwania impulsu w mikrosekundach.
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...
ISR(INT0_vect) { ISR(TIMER3_OVF_vect) ... = WARTOSC_PRZELADOWANIA; czas++; }} ISR(INT1_vect) {} Pomijając fakt że atmega16 nie ma timera nr3 ( tylko 0,1,2) ta konstrukcja wygląda dziwacznie :) skoro mam podłączony kwarc 16Mhz, to preskaler ustawiam na taktowanie zewnętrzne...
Witam Mam problem z uruchomieniem watchdog'a w atmedze324. Procesor nie uruchamia resetu. Ten program powinien wypisywać cyfry przez około 2 sekundy potem powinien się zresetować. Proszę o pomoc. [syntax=jezyk_programowania] ... <mega324.h> #include <stdio.h> ...
Udało mi się znaleźć fajny kod z opisem programowego pwm-a od RedLina. Przerobiłem go trochę na moje 7 kanałów. Domyślnie był na 3. Wygląda na to jakby mikrokontroler się nie wyrabiał, ale nie jestem pewien. Jak można byłoby to zoptyamlizować ? Odnośnie korekcji jasności świecenia,...
Przecież można to zrobić programowo bez dodatkowych tranzystorów. Wystarczy skonfigurować pin Output Compare w tryb inverting mode. Nie odpowiem teraz dokładniej jak to zrobić, bo nie znam typu mikrokontrolera i nie wiem, który timer jest używany do generowania PWM.
Inne niezupełnie optymalne rozwiązanie: tryb PWM, włączyć preload rejestrów CCRx, zapisać do nich 0, wywołać update i dopiero wpisać żądane wartości. Przy następnym zdarzeniu update licznik zacznie generować impuls; od tej chwili aż do zrównania CNT z ARR mamy czas na ponowne wpisanie...
dobra mam, rozumiem już wszystko, chociaż te diody dziwnie się zachowują, w pierwszym cyklu pali się pierwsza, następnie podczas świecenia pierwszej zapala się na sekundę trzecia, potem trzecia gaśnie i pierwsza pali się przez sekundę, gaśnie, zapala się druga, gaśnie, zapala się trzecia,...
Znalazłem chwile. To tak mi się napisało: [syntax=c]void init_INT0(void) { INT0_RISING; INT0_O... Nadajnik to PT2262 sekwencja to 4 "słowa" na końcu których jest preambuła ISR(TIMER1_COMPA_vect) { ... PIN(ODBIORNIK)...
Do pasma EKG układ w zupełności wystarczy. W kwestii punktu 4, chodziło mi o taką konfigurację licznika: - licznik zlicza w jednym kierunku, np. w górę. - Czas pełnego okresu (PSC i ARR) to trochę więcej niż czas transmisji + impuls LDAC (=210ns). - Do jednego z rejestrów porównujących...
Witam. Przy 4 Mhz ustawiasz dzilnik do licznika na 256 w rejestrze TCCR0. Następnie ustawiasz 125 w OCR0. To jest górna granica licznika, która go resetuje i jednocześnie wystawia przerwanie. Teraz licznik liczy do 125 i generuje przerwanie OCF0 - Output Compare Flag 0 w rejestrze TIFR. Wtedy...
Już poprawiłem program. Rzeczywiście namieszałem. Mam ustawiony timer 4 jako pwm i chciałbym móc go zainicializować w trybie "GATED Mode" pinem PB6. Zgodnie z datasheet tryb OPM może działać jako PWM lub Output Compare (str. 611). Wystarczy uruchomić w rejestrze CR1 bit OPM.
Czego oczekuje NAZE Ci niestety nie powiem. Poszukaj informacji w manualu. Po wyłączeniu nadajnika dioda przy attiny powinna zgasnąć, bo brak PWM to brak PCINT, a tam jest załączana. Możesz dopisać symulację dodatkowych kanałów i sprawdzić, czy coś to pomoże. Dodaj sobie np. drugi...
I tak zrobiłem. Każdą komendę kończę znakiem pustym (ascii: 0x0). W programie głównym mam zadeklarowana zmienną globalną "ko_tr" ustawioną jako extern, której wartość informuje o zakończeniu transmisji. W obsłudze przerwania RXNE odpieram znaki i wpisuję do zmiennej tablicowej "odczyt",...
W sieci znalazłem taki tekst, czy według tych wskazówek można to zrobić ,jak ? W Generatorze DDS z EP 6/2018 jest sprzętowe sterowanie wyjściem: void Timer1_Start(uint8_t dzielnik) { // OCR1B=dzielnik; OCR1B=dzielnik; //Ou... compare toggles OC1A pin // TCCR1A |= 0x40; // COM1A =...
W jakich układach natrafiliście, lub zastosowaliście tyrystory lub triaki? Można kupić moduły SSR. SSR są zwykle bazowane na jakiejś formie triaka (chyba optotriak). Ja tak przerobiłem kolorofon na sterowanie przez artnet. Niestety tylko włącz/wyłącz (trzeba by detekcję fazy zrobić...
-Można dodać linki do kalkulatorów programowalnych online. -Kalkulator dla timerów. Podajesz częstotliwość taktowania i wymagany czas między przerwaniami, uzyskujesz prescaller oraz wartość przy której timer wywołuje przerwanie (w STM nazywa się to output compare). Trzeba by było zrobić...
Jak według tych wskazówek zrobić kod ; Wskazówka : ""Cały czas mowa o precyzyjnych częstotliwościach, współczynniku wypełnienia ,a delay to jedno z najgorszych z możliwych rozwiązań mając sprzętowe sterowanie GPIO, gdzie trzeba liczyć każdy cykl maszynowy jak w latach 80. W Generatorze...
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ł...
Witam serdecznie. Czy znajdzie się jakaś pomocna dłoń w napisaniu programu w jezyku C++. Poprosił mnie mój siostrzeniec uczący się w UK o napisanie programu z niżej opisanego zadania lecz ja już nie pamiętam jak to się robiło ponieważ skończyłem informatykę ponad 15 lat temu a na codzień...
Witam! Dopiero zaczynam zabawę w Bascom-ie, wiec proszę o wyrozumiałość. Zbudowałem układ na Atmega32, 4 kanały PWM do sterowania RGB+biały. Jeden klawisz do zmiany programów, LCD (do sprawdzenia co się dzieje) oraz czujnik oświetlenia na fototranzystorze. Co chciałbym zrobić: -klawiszem...
#include <mega128.h> #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<OVR) #define DATA_REGISTER_EMPTY...
No to popróbuj jeszcze :-) Ja tylko tak, aby sprawdzić, napisałem coś takiego: '-------------------------------------... RC5.bas ' '---------------------------...
Dzięki wielkie za wskazówki. Tego akurat jeszcze nie znalazłem, aczkolwiek są 2 sprawy: 1) Przykład pod DMA nie działa. (w sensie nic się nie wyświetla na terminalu) 2) Przykład na wake się w ogóle nie kompiluje pod IARem ;) Jestem totalnym laikiem, aczkolwiek naprawdę bardzo mi zależy,...
Witam, Niestety mam problem z włączeniem trybu FastPWM w ATTiny 261 przy wykorzystaniu zegara wewnętrznego lub PCK (brak podłączonego zew. kwarcu). // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 8000,000 kHz // Mode: Fast PWM top=OCR1C //...
Spróbuj tak (nie testowane:)): [syntax=basic4gl]Conf... Portb.3 = Output ' OC0A Config Portb.4 = Output ' OC0B Config Timer0 = Pwm , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 Pwm0a = 0 Pwm0b...
Eksperymenty związane z EKG Od dawna uważałem za interesujące rozważania o własnych systemach EKG. Szczególnie interesują mnie rozwiązania niedrogie i łatwe w konfiguracji. W tym artykule przedstawiono kilka sposobów wykorzystania tej techniki. Ale najpierw coś podstawowego: ...
Jeżeli chodzi o PWM - wszystkie 4ry wyjścia mam zajęte ponieważ są po 2 pary diod gasnących i zapalających się. Napisałem o 1 parze bo to w sumie nie będzie duża różnica w kodzie. Jeśli chodzi o PWM mam to rozwiązane tak: For Zn = 0 To 255 Pwm0b = Zn Waitms 15 Next Zn ...
Witam, złożyłem płytkę, napisałem kod i coś nie działa, narazie podam kod bo płytka śmiga byłbym wdzięczny za sugestie co jest nie tak że to nie chce działać, kod zbudowany po części w CodevisionAVR. Wyświetlacz jest na wspólnej Katodzie stąd mój wniosek że aby zaświecić jakiś...
Jeśli chodzi o sprzętowego PWMa to chyba pokuszę się o AVR136, tylko zamiast atmegi wykorzystam attiny2313. Zasymulowałem sobie to na razie tylko w proteusie i całkiem ładnie to śmiga :) __________________________________... Potrzebuje Waszej pomocy. PWMy ładnie działąją...
No i wszystko niby działa (znaczy mogę dowolnie programować itd) ale apetyt rośnie w miare jedzenia. Dokleiłem sobie procedurkę bootloadera bo chciałbym mieć możliwość programowania Atmegi w układzie. No i tu się schody zaczynaja. Bo po pierwsze to nic przez uarta nie mogę się skomunikować,...
$regfile = "8535def.dat" $crystal = 8000000 $sim Config Pind.4 = Output Config Pind.5 = Output Config Pind.7 = Output Config Timer2 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm...
Program dopiero powstaje (dopiero mam szkielet do uzupełnienia), wiec moze byc duzo elementów nieaktywnych takich jak PWM'y i i2C itp(ale konfiguracje juz sa), głównie jest MENU nieskonczone ale tyle co jes to działa , no i nieszczesny pomiar z wyswietleniem co 0,5 s za pomoca flagi z przerwania....
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...
Prosty program na AVRStudio : #include <m16def.inc> ; Prohibits use of non-implemented instructions (ATmega16) .dseg .org SRAM_START .cseg ;———...
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...
Dzięki za pozdrowienia i za odpowiedź . A co do układu to jest automat do pokoju i ma sterować światłem rgb , halogenami , klawiatura umieszczona we włączniku+ dioda rgb ma sygnalizować jaka funkcja światła zostanie zmieniona , odczytać i zapisać i2c to zadanie dla attiny2313 . A atmega8...
Kawałek docelowego programu działa sprawnie, ale jak dodam "pozostałe funkcje, już niestety nie... Nie zmienia mi zmiennej "Stan" i nie wysyła ATH tym samym nie przechodzi do następnego etapu programu... Kod działający: $regfile = "m32def.dat" $crystal = 16000000 $baud =...
Poczytaj tematy i uzyj szukaj. Attiny2313 nie posiada adc wiec potencjometrem nie dasz rady tego sterowac. Domyslam sie ze robisz do w bascomie. Tu masz kawalek kodu jak konfigurowac timery zebys mial 4 pwm. '******* procek ******* $regfile = "attiny2313.dat" $crystal = 8000000 $hwstack...
Dodam moj przepis na ładną tablicę wektorów (przykład dotyczy ATtiny2313) : .cseg ;————R...
Witam. Nie dawno wybudowałem altanę na działce. Chciałbym w niej sterować gniazdkami, przyciskami do oświetlenia i oświetleniem. Każde gniazdko będzie miało podświetloną obwódkę wykonaną z pleksi, podświetlenie na diodach RGB sterowanych PWM z atmegi8, która będzię przy...
A wiec co już wypróbowałem: [syntax=c] #include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // define some values used by the panel and buttons int lcd_key = 0; int adc_key_in = 0; int rpm = 800; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define...