tccr0 atmega

Znaleziono około 1171 wyników dla: tccr0 atmega
  • ATMEGA 8 - Jak ustawić przerwanie timera co 1s z prescalerem 128?

    [syntax=c] #define RELOAD_VAL 131 int main (void) { TCCR0=0x8B; TCNT0 = RELOAD_VAL; TIMSK=(1<<TOIE0); sei(); while(1) { } } SIGNAL( SIG_OVERFLOW0 ) // 1 ms { TCNT0 = RELOAD_VAL; } [/syntax]

    Mikrokontrolery AVR   05 Gru 2014 09:46 Odpowiedzi: 11    Wyświetleń: 1395
  • REKLAMA
  • [ATMEGA32,ATMEGA644] ATMEGA32 vs ATMEGA644: Konfiguracja TC0 w trybie PWM

    Preskaler jest w innym rejestrze - patrz TCCR0A i TCCR0B w dokumentacji. Porównaj także tabelki timera0 "Waveform Generation Mode Bit Description" w obu dokumentach. Można dwa kanały.

    Mikrokontrolery AVR   02 Kwi 2017 19:30 Odpowiedzi: 4    Wyświetleń: 1011
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • ATmega1284p TIMER0_OVF_vect nie działa - diagnostyka przerwania

    Konfiguracja prescalera jest w TCCR0 B a nie TCCR0A.

    Mikrokontrolery AVR   03 Kwi 2020 11:48 Odpowiedzi: 2    Wyświetleń: 438
  • Atmega2560 - brak zmiennego światła LED przy konfiguracji PWM

    Uruchom tryb 3 licznika. W trybie 7 PWM może się generować co najwyżej na OC0B, a tego nie skonfigurowałeś jako wyjście (PG5). Dodano po 53 TCCR0A |= (1<<COM0A0) OCR0A jest zresztą też źle skonfigurowane. Co prawda w tym trybie nie ma to znaczenia, ale weź poprawkę na to. Powinno być tak: https://obrazki.elektroda.pl/5291109500_...

    Mikrokontrolery AVR   20 Sty 2020 06:38 Odpowiedzi: 2    Wyświetleń: 402
  • REKLAMA
  • Przeniesienie kodu SPWM z Arduino UNO (ATmega328P) na ATTiny85A – kompatybilność

    Wrzucam kod dla Attiny13A: ilość próbek częstotliwość wyjściowa 356 49.3 355 49.4 354 49.65 353 49.8 352 50 Wygenerowane przebiegi na oscyloskopie: https://obrazki.elektroda.pl/4382277800_... na skraju cykli https://obrazki.elektroda.pl/4450814000_... Zbliżenie sygnałów 50Hz (brak kolizji, czyli obu sygnałów w stanie...

    Arduino   20 Lip 2022 05:51 Odpowiedzi: 25    Wyświetleń: 879
  • Atmega:Czemu program dziala tylko z programatorem??.

    :)... no wlasnie.... Ale w tym sek, ze raczej nic tam w programie nie powinno przeszkadzac. void inicjuj_USART_TIMER(unsigned char tim, unsigned char szybk) { TCCR0 = 0b00000001; TCNT0 = 5; TIMSK |= 0b00000001; //////////////////////////// UBRRH = 0; UBRRL = (unsigned char)(szybk); UCSRB = 0b11011000; UCSRC = 0b10000011; SREG |= 0b10000000; } void zapisz(void)...

    Mikrokontrolery   26 Wrz 2005 13:42 Odpowiedzi: 4    Wyświetleń: 1448
  • REKLAMA
  • ATmega8515: Przerwania Timer0 nie działają w Bascom AVR - co poprawić w kodzie?

    Po Config Timer0 wpisz dodatkowo TCCR0 = 4 Config Timer0 = Timer , Prescale = 256 Tccr0 = 4 Tylko musisz coś zrobić z START TIMER0 i STOP TIMER0 bo one przywrócą wartość po CONFIGu i program dalej nie będzie działał. Najprościej będzie usunąć te instrukcje. dodano 20 Sie 2008 08:05 Mail z opisem błędu poszedł już do MCS Electronics. Zbaczymy jaka będzie...

    Mikrokontrolery   20 Sie 2008 08:29 Odpowiedzi: 14    Wyświetleń: 1297
  • [ATmega8] [ATmega8][C] - Przeróbka kodu z ATmega328 na ATmega8, Timer0 na Timer2, LCD pusty

    Pierwsze pytanie - czy w inny sposób udaje ci się coś wyświetlić na LCD? I drugie - tam jest funkcja dodająca transakcje, która przy okazji włącza timer. Poprawiłeś ją? Chodzi o tą: [syntax=c] bool LCD_PutText_B(uint8_t x, uint8_t y, char *txt, LCD_trans *buf, bool autodel) { buf->cmd=LCD_Text; buf->Ready=false; buf->SelfDel=autodel; //Czy zwolnić pamięć...

    Mikrokontrolery AVR   03 Sty 2016 19:19 Odpowiedzi: 2    Wyświetleń: 951
  • Timer TCCR3 atmega128A - diody LED nie działają w trybie PWM

    DDRD|=(_BV(PB5) | _BV(PB6) | _BV(PB7)); DDRD|=(_BV(PE3) | _BV(PE4) | _BV(PE5)); Widzisz tu subtelną różnicę...? Działające wstawki dla pwm na Tim1 i Tim2: [syntax=c]void Timer0Init(void) { DDRB|=(1<<4); TCCR0 |= (1<<WGM01)|(1<<WGM00)|(1<... OCR0=0; } void Timer2Init(void) {...

    Mikrokontrolery   31 Sty 2014 21:18 Odpowiedzi: 1    Wyświetleń: 927
  • ATmega8535 – sterowanie jasnością LED przez PWM 8-bit na PB3, brak reakcji na przyciski

    Nie bardzo mi się chce wnikać w przyczyny , więc wrzucę Twój zmodyfikowany kod: #include <avr/io.h> #include <avr/interrupt.h> #define PWM_out(value) OCR0 = value void delay(void){ volatile unsigned int i; for(i=5000;i;i--); } unsigned char pwm=127; int main(void) { DDRD = 0x00; PORTD = 0xFF;...

    Mikrokontrolery   06 Lut 2008 11:44 Odpowiedzi: 4    Wyświetleń: 1230
  • Atmega328 timer0 nie odlicza czasu/nie generuje przerwania (tryb normalny)

    Twoje obliczenia są (z grubsza) OK, jednak w mikrokontrolerze ATmega328 rejestr TCCR0A nie posiada bitów CS00 oraz CS02. Bity te znajdują się w rejestrze TCCR0B. Notabene, bitów WGM0n nie musisz zerować. W trakcie Power on Reset zostają one ustawione na wartość 0. Zerowanie może być konieczne tylko wtedy, kiedy wcześniej sam ustawisz je na wartość...

    Mikrokontrolery AVR   11 Kwi 2019 11:28 Odpowiedzi: 9    Wyświetleń: 828
  • [Atmega88][C][WinAvr]Migracja Atmega8->Atmega88 restart I

    #define TIMER_ON_64() TCCR0A|=(1<<CS00)|(1<<CS01); Bity CS00, 01, 02 są w TCCR0B. WGM02 też jest w TCCR0B a WGM00 i 01 w TCCR0A. P.S. W ATmedze88

    Mikrokontrolery AVR   25 Cze 2010 08:19 Odpowiedzi: 7    Wyświetleń: 2171
  • Atmega16L - Dwa sygnały PWM i odczyt z użyciem ADC

    Przykładowy program realizujący przedstawiony przeze mnie sposób. [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include "LCD.h" volatile unsigned int adcon = 0; ISR(TIMER0_OVF_vect) { static char st; if((st++)%2) { PORTB |= 1<<0; //pb0=0 PORTB &= ~(1<<1); //pb1=1 adcon = ADC; //odczyt...

    Mikrokontrolery AVR   12 Maj 2013 22:14 Odpowiedzi: 12    Wyświetleń: 2640
  • REKLAMA
  • ATmega32 - Sterowanie wypełnieniem PWM, obroty wentylatora

    Dokładnie tak cyber90 Poniżej konfiguracja timer0 w trybie fast PWM dla Atmega 644p [syntax=C] void timer0_conf(void) { //konfiguracja timera0 - pin PWM PB3-OC0A TCCR0A = ( (1<<WGM00) | (1<<WGM01) | (1<<COM0A1)); // tryb fast PWM TCCR0B= (1<<CS02) | (1<<CS00); // preskaler =1024 dla 16MHz daje ok. 60 Hz DDRB=(1<<PORTB3);...

    Mikrokontrolery AVR   01 Maj 2014 15:59 Odpowiedzi: 12    Wyświetleń: 4317
  • [ATmega] [ATmega][Bascom] Czy PWM na Timer0 da taki sam przebieg jak na Timer1?

    Dokładniej chodzi mi o ATmega16(L) i ATmega32(L). Dam sobie radę ze skonfigurowaniem TCCR0. Chodzi mi tylko o zastąpienie wyjścia OCR1A wyjściem OC0 i zwolnienie Timera1 do innych zadań. Czy to zadziała?

    Mikrokontrolery AVR   05 Maj 2010 18:29 Odpowiedzi: 3    Wyświetleń: 4328
  • AVR: Znikający tick w liczniku przy włączonych przerwaniach na Atmega 16 i 644P

    Wg. mnie te 4 takty obejmują również czas wykonania przerywanego rozkazu. Przynajmniej tak pokazuje symulator w AVR Studio. Oczywiście jeżeli przerywamy rozkaz dwucyklowy (np SBI) to opóźnienie wyniesie 5 taktów. Jeszcze dla pełnej poprawności to piszesz o ATEMGA16 i ATMEGA644P więc Twój przykładowy program zawiera błędy: - dla ATMEGA rejestry Timera...

    Mikrokontrolery AVR   26 Mar 2017 18:36 Odpowiedzi: 5    Wyświetleń: 1422
  • [atmega328p] [atmega328p][c] Timer0 - dioda nie miga, ustawienia 8MHz, kod nie działa

    Bity CS00 i CS02 od preskalera są w rejestrze TCCR0B, a nie TCCR0A. Masz preskaler na 0 więc timer nie zlicza.

    Mikrokontrolery AVR   11 Sie 2014 23:33 Odpowiedzi: 7    Wyświetleń: 3843
  • Atmega128(atmel) - licznik 1-9999. Wyświetlacz 7-segmentowy.

    TCCR0=0x07; // port G jako wejście Że co? int main(void) { char digit } Funkcja main obejmuje nawiasem kilka funkcji przerwań. To się w ogóle kompiluje? Pół biedy że funkcja main. Pętla while(1) to obejmuje! Po za tym to SIGNAL pozamieniaj na ISR. ISR jest nowsze i przez to zalecane (choć w sumie kodu wynikowego pewnie to nie zmieni). I przy okazji...

    Mikrokontrolery   31 Sty 2010 01:42 Odpowiedzi: 6    Wyświetleń: 3924
  • [Atmega168][C] Odliczanie dokładnie jednej sekundy

    Najprościej to chyba tak: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #define TIMERSTART 6 volatile uint8_t FLAGA_50 = 0; volatile uint8_t FLAGA_1000 = 0; // funkcja obslugi przerwania TIMER0_OVF 8MHz / 64 * 250 wychodzi co 2ms // dla innego taktowania nalezy ustawic inny preskaler i/lub inne liczniki stawiania flag ISR(TIMER0_OVF_vect)...

    Mikrokontrolery AVR   16 Maj 2012 10:20 Odpowiedzi: 2    Wyświetleń: 1345
  • AVR [ATMEGA48] , Assambler - samoistna zmiana taktowania uC

    Rejestr SREG zawiera podstawowe flagi mówiące o stanie procesora potrzebne do kontroli wykonywania programu (warunki, skoki itd.) Na czas obsługi przerwania należy zapamiętać te flagi gdyż kod w przerwaniu je oczywiscie może zmienić. Po powrocie z przerwania procesor podejmuje program w miejscu wystąpienia przerwania i musi wiedzieć co sie działo wcześniej....

    Mikrokontrolery AVR   19 Wrz 2010 19:24 Odpowiedzi: 11    Wyświetleń: 2277
  • ATMega128 - Świecenie 2 diodami na raz ze zmienną częstotliwością

    Kod piszę "na sucho", więc lepiej sprawdź czy działa.[syntax=c] #include <avr/interrupts.h> void timer0_init(void){ TCCR0 = _BV(CS02); //Mode 0, normal operation, prescaler 64 TIMSK |= _BV(TOIE0); //Timer/Counter0 Overflow Interrupt Enable } volatile unsigned long millis=0; volatile unsigned int okresy_migania_ledow[4] = {100,200,300,400}; ISR(TIMER0_OVF_vect)...

    Mikrokontrolery AVR   18 Wrz 2014 22:17 Odpowiedzi: 6    Wyświetleń: 1020
  • ATMEGA162: Czy sprzętowy PWM zakłóca odczyt 1-Wire z DS18B20 w BASCOM?

    Str. 100 i 101. Rejestr TCCR0, bity COM00 i COM01.

    Mikrokontrolery AVR   10 Kwi 2010 12:47 Odpowiedzi: 14    Wyświetleń: 3684
  • [ATmega128][C]przerwania nie wracają, reset uC: fuse M103C

    Ojj widze ze chyba chcesz za duzo na raz zrobic... TCCR0 = _BV(CS02) | _BV(CS02) ; Ani w jednej ani w drugiej atmedze nie jest to dzielnik przez 32. Nawet jak by tak bylo, to i tak masz gdzies to co pisalem wczesniej. Zostalo by ci 150 taktow zegara na wyjscie z przerwania i wykonanie maina, czy jest wystarczajaco byc moze, ale nie sadze...

    Mikrokontrolery AVR   08 Gru 2009 21:36 Odpowiedzi: 11    Wyświetleń: 2841
  • Jak zrealizować detekcję zbliżenia ręki z TSOP1736 na ATmega 8L?

    Witam... Generalnie rzecz biorąc procedury opóźnienia czasowego nie nadają się do modulowania diody IR... Częstotliwość nie jest zbyt stabilna to raz... Dwa nie uzyskasz 36kHz musisz skorzystać z dobrodziejstw timera... Np. tak... #include<avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <inttypes.h> int...

    Mikrokontrolery   03 Sie 2005 13:34 Odpowiedzi: 3    Wyświetleń: 1779
  • Konfiguracja przerwań TIMER0 na ATmega16

    Mam problem z uruchomieniem przerwania, kombinowałem wiele razy z różnymi ustawieniami jednak nie obserwuję zmian na porcie PD7, PWM na porcie PB3 działa (przebiegi obserwowane na oscyloskopie). Mikroprocesor to ATmega 16 taktowana z kwarcu 16 MHz. Może ktoś zerknie świeżym okiem i doradzi. #define F_CPU 16000000 #include #include #include #include...

    Mikrokontrolery AVR   21 Kwi 2024 20:25 Odpowiedzi: 9    Wyświetleń: 450
  • Atmega128: Jak mierzyć częstotliwość impulsów na T1 i wyświetlać na LCD?

    ...przy 10000HZ na LCD wyświetla 0666... No to prawie jak liczba szatana :) if(licznik==4) { T1=TCNT1; utoa( T1, bufor1, 10 ); lcd_gotoxy(3,0); lcd_puts(bufor1); TCNT1=0; } Widzę, że dodałeś pozycjonowanie kursora, żeby wynik za każdym razem był wyświetlany w tym samym miejscu wyświetlacza. Trzeba by jeszcze...

    Mikrokontrolery AVR   07 Lip 2010 16:54 Odpowiedzi: 16    Wyświetleń: 3268
  • Atmega8>attiny13 - Potrzebne wsparcie z przeniesieniem kodu między uC.

    Wg http://www.nongnu.org/avr-libc/user-manu... musisz zmienić nazwę wektora przerwań na TIM0_OVF_vect Porównaj sobie datasheet attiny13 z datasheetem atmegi8 żeby skonfigurować timery. Do skonfigurowania timera w attiny służą rejestry TCCR0A i TCCR0B, w atmedze8 jest tylko TCCR0 http://www.atmel.com/images/doc2535.pdf http://www.atmel.com/Images/Atmel-2486-8...

    Mikrokontrolery Początkujący   06 Mar 2015 20:40 Odpowiedzi: 7    Wyświetleń: 1215
  • Procedury do wyświetlacza LCD CMC420L01 4x20 na ATmega128, HD44780

    To jest przyklad tego jak mozna obsluzyc DS1820 przez mega 8 ale jest tam tez obsluga wyswietlacza w C.Moze sie pryda.Sam to dostalem od jednego kolegi z forum:-) wiec mam nadzieje ze sie nie obrazi...mnie interesowal DS. Pozdrawiam Maciek! #include <avr/io.h> #include <avr/pgmspace.h> #include <stdlib.h> #include <ctype.h> #include...

    Mikrokontrolery   30 Maj 2005 14:30 Odpowiedzi: 12    Wyświetleń: 4070
  • Przykładowy program w C na ATmega32 do multipleksowania 4 wyświetlaczy 7-segmentowych

    Przykładowy program który wyświetla jakąś liczbę: [syntax=c]volatile uint16_t disp=0; uint8_t buff[]={0b11000000, 0b11111001, 0b10100100, 0b10110000, 0b10011001, 0b10010010, 0b10000010, 0b11111000, 0b10000000, 0b10010000, 0b10001000, 0b10000011, 0b11000110, 0b10100001, 0b10000110, 0b10001110}; ISR(TIMER0_OVF_vect) { static uint8_t dig=0; static uint16_t...

    Mikrokontrolery AVR   23 Sty 2018 11:12 Odpowiedzi: 12    Wyświetleń: 1335
  • Konwersja programu z Atmega16 >> Atmega8. Nadajnik

    Witam. Pewnie zabrzmi to głupio aczkolwiek lubię się upewnić czy pewne rzeczy robię dobrze czy też źle. Jako iż nie dysponuję w tym momencie pod ręką programatorem to nawet nie mogę sprawdzić czy dobrze piszę czy nie. Rozchodzi się o zmianę programu napisanego na Atmegę16 tak aby pasował do Atmegi8. Jest to nadajnik podczerwieni o określonej częstotliwości...

    Mikrokontrolery   19 Wrz 2007 12:06 Odpowiedzi: 2    Wyświetleń: 1659
  • BAscom atmega - Programowanie w Bascomie,silnik DC,Atmega32

    Niestety to nie jest wina prescalerów i taktowania, próbowałem już w każdej kombinacji . Żadnej różnicy nie zauważyłem, a napięcie przy wyjściu pwm się nie zmienia. Z tego co wiem ,to może być to wina złej kompilacji, dlatego przy wyjściu oc1a(Pin D5) od pwma muszę odwoływać się do poszczególnych rejestrów coś na wzór tego: [syntax=vbnet]Config Pinb.3...

    Mikrokontrolery AVR   20 Lut 2016 11:42 Odpowiedzi: 32    Wyświetleń: 3195
  • AVR czy Atmega dla początkującego? Wybór zestawu ewaluacyjnego do nauki uP

    C:\Devel\elektro\AVR-gcc\keytest/tes... undefined reference to `low' Linia 38 : TCNT0=low(T0div); - czyli tylko, jeśli jest to zaszyte w jakiejś bibliotece, bo spotkałem się tylko z odmianą lo8() i hi8(), ale w asemblerze od avr-gcc, w projekcie minidds . Tym niemniej, tak jak Andrzej_17 poradził - zadziałało z dopisaniem do...

    Mikrokontrolery   29 Lip 2005 09:52 Odpowiedzi: 28    Wyświetleń: 6214
  • Język C AVR - Nadajnik podczerwieni na pinie OC0 nie działa - co poprawić?

    No faktycznie zapomniałem tego ora. -Atmega 32 Dodano po 4 Nie działa Dodano po 2 Nie rozumiem twojego punktu że procesor się zresetuje

    Mikrokontrolery AVR   12 Kwi 2015 12:24 Odpowiedzi: 10    Wyświetleń: 894
  • [AtMega16] [AtMega16][C] - Implementacja multitaskingu dla odczytu ds18b20 i sterowania GPIO

    Powrócę jeszcze do tematu. Timery programowe to objaśnił Mirekk36 w swojej książce oraz artykułach i wideo poradnikach, bardzo dobrze je się stosuje. Jest to proste, wystarczy ustawić jakiś timer w tryb CTC i wywoływać przerwanie co jakiś zamierzony czas (stosuje około 10ms). F_CPU/Prescaler/100 Zaokrągloną wartość wpisujemy do rejestru OCRx. W przerwaniu...

    Mikrokontrolery AVR   13 Kwi 2013 20:38 Odpowiedzi: 24    Wyświetleń: 2646
  • Jak napisać program w C dla ATMega 128 z odliczaniem czasu na wyświetlaczu?

    Jako ze nie przepadam za pisaniem na maile, to odpowiem tutaj... Musisz skonfigurowac odpowiedni timer i przy przerwaniu, jakie generuje int czas=0; int timer0=131; SIGNAL (SIG_OVERFLOW0) { czas++; if (czas==5000) BUUM(); //jezeli czas osiagnal 5000ms, to wywolaj funkcje BUUM(); TCNT0 = timer0; // zaladowanie do...

    Mikrokontrolery   05 Gru 2005 17:01 Odpowiedzi: 5    Wyświetleń: 3134
  • I2C na ATmega644P: Kod Master nie działa poprawnie, co może być przyczyną?

    Ty czy Kardaś? No ta w zasadzie popodmieniałem nazwy komend w przypadku mastera, ale w tym przykładzie nie ma dużo więcej do roboty, jak uda się stworzyć własną apkę na kompa to trochę pozmieniam (dodam więcej case'ów xd). Dużym problemem było to, że nie zaznaczyłem zapisu eepromu w eclipse, ale nadal są błędy teraz już chyba tylko po stronie slave'a:...

    Mikrokontrolery AVR   25 Sie 2024 22:00 Odpowiedzi: 5    Wyświetleń: 288
  • [ATmega32] Jak napisać procedurę obsługi przerwania timera0 dla diody LED na ATmega32?

    [syntax=asm] .device ATmega32 .include "m32def.inc" .def temp= r16 .def counter= r17 .org 0 RJMP start .org $016 ;wektor przerwania dla przepełnienia timera RJMP przerwanie start: ldi temp, high(RAMEND) out SPH, temp ldi temp, (1<<CS00) | (1<<CS02) ;konfiguracja preskalera i zegara out TCCR0, temp ;w rejestrze TCCR0 (ustawienia główne timera)...

    Mikrokontrolery AVR   27 Paź 2011 11:19 Odpowiedzi: 8    Wyświetleń: 2552
  • [C] Atmega8 PWM sterowanie RGB LED – błędy kompilacji w WinAVR, prośba o analizę kodu

    Hej. Po pierwsze Timer0 w atmedze8 nie ma PWM A więc do PWM możesz korzystać tylko z Timera 1 oraz Timera 2. Po drugie twój problem leży w nazwach poszczególnych rejestrów konfiguracyjnych atmegi 8 sprawdź w dokumentacji atmegi8 jak w rzeczywistości nazywają się rejestry TCCR0A, TCCR0B, OCR0A bo tego dotyczy komunikat błedu. Poza tym pamiętaj że port...

    Mikrokontrolery   22 Sie 2009 08:29 Odpowiedzi: 7    Wyświetleń: 4475
  • [ATmega32] ATmega32 Timer0 CTC - przerwanie nie działa poprawnie, licznik się zeruje

    A co na to symulacja programu? Taki program wgraj: .nolist .include "m32def.inc" .list ; ## START ########################################... .cseg ;=======================================... ;= WEKTORY PRZERWAŃ = ;=======================================... .org 0x0000 rjmp reset_vector ; po...

    Mikrokontrolery AVR   13 Sie 2008 21:39 Odpowiedzi: 4    Wyświetleń: 2544
  • [Atmega128] [Atmega128][C] - Timer0 blokuje _delay_ms przy aktywnym przerwaniu TIMER0_OVF_vect

    Witam Serdecznie Na początek kod: [syntax=c]#define F_CPU 4000000UL #include <avr/io.h> #include <avr/iom128.h> #include <util/delay.h> #include <avr/interrupt.h> volatile uint8_t i=0; int main(void) { DDRA = 0xFF; ASSR &= ~(1<<AS0); TCCR0 |= (1<<CS01) | (1<<CS02); TIMSK |= (1<<TOIE0); TCNT0 = 131;...

    Mikrokontrolery AVR   06 Wrz 2012 03:28 Odpowiedzi: 15    Wyświetleń: 1779
  • AtMega 324/644/1284 - reset mikrokontrolera po odblokowaniu przerwań

    Jeżeli dobrze patrzę w DS, to tryb CTC jest ustawiany bitem WGM02=1 (WGM00=0 i WGM01=0, WGM03=0) w rejestrze TCCR0B a nie WGM01=1 w rejestrze TCCR0A.

    Mikrokontrolery AVR   11 Lis 2015 17:52 Odpowiedzi: 6    Wyświetleń: 1278
  • Bascom: Jak zmienić częstotliwość dla Atmega32 z obsługą enkodera i RC5?

    Wpisywanie $CRYSTAL bez rzeczywistej zmiany taktowania procesora będzie powodować, że wszelkie opóźnienia i obliczenia kompilatora dotyczące liczników nie będą zgodne ze stanem faktycznym. GETRC5() korzysta aktywnie z licznika TIMER0. Tak manewruje wartością wpisaną do rejestru licznika oraz preskalerem by otrzymać jednakowe odcinki czasu zliczane później...

    Mikrokontrolery Początkujący   20 Cze 2014 21:55 Odpowiedzi: 3    Wyświetleń: 1080
  • Atmega8L 8MHz - jak ustawić fuse bity dla poprawnego działania zegara?

    Po 2 teraz juz sam nie wiem :| bo przeciez co ma dorzeczy to ze u mnie zmienna "licznik" ma wartosc 4000? Przeciez to jest zmienna wewnetrzna w porgramie.Bo jesli chodzi o wartosc zliczana przez licznik to wynosi ona L=250, czyli aby uzuskac 1 sek to: 1s=250x4000; gdzie TCCR0=2 (CK/8) bo kwant czasu wynosi 1us. Nie wiem moze sie myle.... Pozdarwiam...

    Mikrokontrolery   10 Gru 2005 23:52 Odpowiedzi: 6    Wyświetleń: 1422
  • [Atmega16A] Problemy z elektroniką przy sterowaniu silnikiem CN12-R-XC

    Dzięki za odpowiedzi. Zasilacz mam 7.5V 4A od jakiejś drukarki lub skanera. Napisałem prosty program do testów i wyniki mnie zadziwiły. Program najpierw wysyła na wyświetlacz napis "reset" który świeci się przez 1 sek, a potem program wykonywany jest dalej. Zamiast silnika zamocowałem żaróweczkę, aby pobór prądu był mniejszy. Jeżeli zamieszczę:[syntax=cpp]PORTD...

    Robotyka Modelarstwo i CNC   05 Wrz 2011 13:19 Odpowiedzi: 7    Wyświetleń: 2918
  • Najprostrzy program wykorzystujacy Timer0 w Atmega32

    Zamieszczam przyklad programu napisanego na kolanie, zmienia stan lini PC3 co okolo (LicznikMax*10ms ) - wychodzi co ok. 100 ms Gdybyś miał wątpliwości to podniosłem moje kości z krzesła przed komputerem po płytkę z AtMega32 i sprawdziłem w ukladzie - DZIAŁA! Kompilowany pod ICC626, polecam "Wizarda" ,pomaga w minute ustawić co potrzeba bez sięgania...

    Mikrokontrolery   12 Lut 2005 16:43 Odpowiedzi: 1    Wyświetleń: 2102
  • Atmega32A - Moduł L298 - Sterowanie silnikiem DC - PWM

    Może spróbuj sterowania w inny sposób - za pomocą przerwania INT2 (wywoływanego przyciskiem) uruchamiaj i zatrzymuj licznik TC0 (parametry PWM są ustawione u Ciebie poprawnie) tzn ustawiaj bity TCCR0|=(1<<CS00)|(1<<CS01) kiedy chcesz uruchomić licznik i zeruj je jeżeli chcesz zatrzymać. Samo ustawianie wartości wypełnienia czyli rejestr...

    Mikrokontrolery AVR   02 Sty 2018 23:56 Odpowiedzi: 22    Wyświetleń: 1521
  • [atmega16][bascom] Dziwne zachowanie programu z przerwaniem.

    Nic nie trzeba informować kompilatora - Bascom ładnie przyjmuje wprost rozkazy asemblera ale w zasadzie atom1477 zrobił to nawet bez asemblera - sorki - po prostu "ręcznie" odwołał się do rejestrów i wpisał do nich odpowiednie wartości tzn poustawiał bity tak żeby coś tam działało w tym przypadku co ja ci podałem trza by to było mniej więcej zrobić...

    Mikrokontrolery AVR   03 Mar 2010 09:56 Odpowiedzi: 35    Wyświetleń: 4541
  • [ATmega 644p][C] Analizator - problem z przerwaniem

    Dzięki wielkie- ale to nie do mnie pisałeś. O Atomic_Block dowiedziałem się w czwartek- sprawdziłem- od czwartku jest to pierwsza wiadomość na ten temat. A wracając do tematu Fir3man- wymyśliłem taki schemat programu: #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> volatile uint8_t dol;...

    Mikrokontrolery AVR   01 Wrz 2010 14:56 Odpowiedzi: 14    Wyświetleń: 3458
  • Ubuntu 8.10 dziwny problem z timerazmi pod ATMEGA16

    Zakładam że kompilujesz w takim GCC jak ja. Spróbuj tego: #include <avr/io.h> //#include <stdio.h> niepotrzebne, bez tego też działa #include <avr/interrupt.h> //#include <avr/signal.h> tej biblioteki się nie stosuje - patrz gcc-libc ISR(TIMER0_OVF_vect) //po co tam miałeś INT0_vect? { PORTD ^= 0xFF; //będziemy mieli...

    Mikrokontrolery AVR   28 Sty 2009 10:31 Odpowiedzi: 3    Wyświetleń: 1194
  • ATmega32, [C], CTC - brak reakcji na program [ROZWIAZANE]

    Tutaj druga instrukcja anuluje pierwszą. Zrób to w jednej instrukcji lub w drugiej użyj operatora |= Poza tym nie ma bitow CS02 i CS00 w rejestrze TCCR1B. Wprawdzie są w rejestrze TCCR0 i mają takie same pozycje, więc kod ma szansę działać, ale jakoś źle się na to patrzy :) To jest zezwolenie na przerwanie od timer overflow. Zezwolenie na przerwanie...

    Mikrokontrolery AVR   13 Lip 2016 10:11 Odpowiedzi: 2    Wyświetleń: 1059
  • Jak przyśpieszyć (zmodyfikować) program w na ATMega32

    OCR0=0x20; /// podobno mozna zjechac do 0 i otrzymac fck/2 Zjechać może i można, ale chyba tylko do sprzętowego przełączania pinu. bo obsługa przerwania w 1 cyklu jest niemożliwa. void timer0_comp_isr(void) { PORTC ^= BIT(0); } Wrzuć co kompilator wyrzuca do assemblera do kompilacji. W sumie na obsługe jest 32 takty razem...

    Mikrokontrolery AVR   02 Lut 2010 08:00 Odpowiedzi: 6    Wyświetleń: 2006
  • PID na ATmega - AVR221 brak reakcji na wejściu układu

    Kod obsługi przerwania Timera jest w pliku Atmela. Po przeróbce na AVR GCC: Obsługa przerwania: [syntax=c]ISR(TIMER0_OVF_vect) { static uint16_t i = 0; if(i < TIME_INTERVAL) i++; else { gFlags.pidTimer = TRUE; i = 0; } }[/syntax] Ustawienia Timera: [syntax=c]TCCR0 = 1<<CS00; TIMSK = 1<<TOIE0; TCNT0 = 0; #define TIME_INTERVAL 10000//TIME_INTERVAL...

    Mikrokontrolery   26 Lut 2014 14:17 Odpowiedzi: 8    Wyświetleń: 2172
  • [ATmega128L] [ATmega128L][AVR-GCC] Błąd w obsłudze TIMER0 i TIMER2, możliwy błąd w dokumentacji?

    Jest komentarzem ponieważ w tym przykładzie nie używam przerwań. sprawdzam czy licznik w ogóle ruszył: if (TCNT2 > 100) PORTC &= ~_BV(PC2); Nie spodziewałem się, że w tak krytycznej sekcji datasheetu może być błąd. W mojej wersji noty katalogowej (pobranej ze strony atmela, jako najnowsza) najpierw jest opisany licznik TIMER2(8bit),...

    Mikrokontrolery AVR   26 Sty 2011 11:06 Odpowiedzi: 13    Wyświetleń: 2562
  • Atmega16 - konfiguracja 4 PWMów w C, różne wypełnienia, ta sama częstotliwość

    --> kolejne PWMy znajdują się z tego co pamiętam na PD7 i PB3. Proszę o odzew i dziękuję za ew. pomoc. Podobnie jak te na T1 tylko dotyczą odpowiednio T2 i T0 A to przykładowe inicjacje /******************************** Init timer T2 */ void InitT2 (void) { TCCR2 = (0<<FOC2) | //forsowanie (0<<WGM21)|(1<<W...

    Mikrokontrolery   05 Kwi 2006 22:05 Odpowiedzi: 2    Wyświetleń: 960
  • [C] Jak wyświetlać liczby 2-cyfrowe na 7-segmentowych LED z Atmega32?

    [syntax=cpp] #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define wys1 PORTA = 0b11111110 #define wys2 PORTA = 0b11111101 #define wyl PORTA = 0xFF; int cyfra(int _cyfra); char licznik = 0; int w1, w2, i; SIGNAL(SIG_OVERFLOW0) { if (i==1 ) { wyl; PORTB=cyfra(w1); wys1; i=0; } else {...

    Mikrokontrolery AVR   11 Sie 2011 11:41 Odpowiedzi: 33    Wyświetleń: 4939
  • Atmega644PA - Obsługa przerwania, multipleksowanie ADC

    Hej :) Chcę podłączyć 3 czujniki odległości do kanałów ADC (porty PA1, PA2, PA3) i odczytywać z nich pomiary przez cały czas. Ponieważ po przetestowaniu czujników doszłam do wniosku że pewne czynniki wpływają na niestabilność pomiaru, chcę jako ostateczny wynik wziąć średnią arytmetyczną z 8 pomiarów przeprowadzonych w trakcie jednego cyklu pomarowego...

    Mikrokontrolery   10 Sty 2016 16:07 Odpowiedzi: 53    Wyświetleń: 2865
  • [atmega162] Czy 8-bitowy timer Atmega162 może przyjmować impulsy jak 16-bitowy?

    Atmega jest taktowana zewnętrznym kwarcem 12MHz, żeby jeden tick timera trwał ~1us. 1. Czy timer 8-bitowy przyjmujący zewnętrzne impulsy, może je przyjmować w takich samych odstępach czasowych jak 16-bitowy? Niestety na etapie projektowania nie zauważyłem, że żeby użyć 16-bit timera do przyjmowania impulsów zewnętrznych należy użyć nóżki T1, a nie T0,...

    Mikrokontrolery   14 Lip 2009 19:17 Odpowiedzi: 5    Wyświetleń: 2268
  • ATMEGA328P - HC-sr04: Timer nie zmienia wartości przy zmianie odległości

    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...

    Mikrokontrolery AVR   10 Kwi 2017 04:56 Odpowiedzi: 3    Wyświetleń: 930
  • Sterowanie diodą RGB na atmega8 - problem z kanałem PWM OC1A

    Kod który zamieściłem jest na ATTiny2313 więc nie powinno być problemu z przeniesieniem na ATMega8 - wystarczy sprawdzić i ew. zmienić nazwy rejestrów. Mam nadzieję że Ci się przyda. void PWMint(void) { DDRB |= (1 << PORTB2); DDRD |= (1 << PORTD5); // jako wyjscia DDRB |= (1 << PORTB4); TCCR0A =...

    Mikrokontrolery   29 Gru 2009 23:07 Odpowiedzi: 3    Wyświetleń: 4815
  • Atmega 16: Timer2 blokuje Timer0 przy wyświetlaniu na 7-segmentowych wyświetlaczach

    Dzięki, już działa. Wiedziałem, że mogę liczyć na forumowiczów :] ... Chociaż może nie do końca, bo teraz tylko timer 2 działa ;/ a 0 stoi. [syntax=c]void Timer0Init(void) { TCCR0 = 1<<CS01|1<<CS00; // Prescaler 64 TCNT0 = 128; // ~ 1.0 ms TIMSK |= 1<<TOIE0; // odblokowanie przerwania od licznika } void Timer2Init(void) { TCCR2 = 1;...

    Mikrokontrolery AVR   30 Sie 2011 22:58 Odpowiedzi: 11    Wyświetleń: 1483
  • Atmega16 - jak poprawnie sterować 16 serwami za pomocą PWM i timerów?

    Witam, Pomysł dobry ale sypie się najprawdopodobniej z powodu zbyt dużej ilości przerwań. Proponuje projekt sterownika "równoległego", taki wykorzystałem w mojej pracy inżynierskiej. Wprawdzie korzystałem tylko z 8 serw ale 16 też obsłuży po drobnej modyfikacji. Program zabiera większość mocy procesora do obsługi przerwań ale tylko przez czas 2ms potem...

    Mikrokontrolery AVR   14 Cze 2011 10:32 Odpowiedzi: 8    Wyświetleń: 2936
  • Błędy kompilacji programu ściemniacza na ATtiny13 po przeniesieniu z ATmega8515

    Zamiast tego całego config timer0 itd. wpisz sobie: TCCR0A=&b00100001 TCCR0B=&b00000011 i póżniej wszędzie gdzie masz pwm0b wpisz OCR0B. powyższego nie sprawdzałem - na żywca z dokumentacji. Za ok. 2h sprawdzę to coś ci napiszę :D Dodano po 2 Wygląda na to, że ten kod zaczął ci działać :D . To, że żarówka ci od razu się zapala i gaśnie to nic dziwnego....

    Mikrokontrolery   08 Wrz 2006 22:38 Odpowiedzi: 36    Wyświetleń: 5837
  • Atmega32 - błędne zliczanie impulsów zewnętrznych na liczniku T0

    Walcze z licznikiem na Atmega 32 inicjacja wyglada tak : DDRB = 0xff; // DDRB jako wyjscie // t0 JAKO LICZNIK PORTB |= _BV(0); // BEZ PODCIAGNIECIA NIE CHCE LICZYC TCCR0 = _BV(CS01)|_BV(CS02); //_BV(CS00)| cs0 rosnace/~opadajace zbocze TCNT0 = 200; TIMSK |= _BV(TOIE0); // T0 wywoluje przerwanie Caly problem polega...

    Mikrokontrolery   09 Kwi 2008 12:54 Odpowiedzi: 3    Wyświetleń: 1514
  • Atmega16: Jak skonfigurować PWM w trybie CTC do sterowania żarówką?

    Witam Mam problem z wykorzystaniem regulatora PWM wbudowanego w atmega. Zbudowany układ wykonawczy pracuje prawidłowo i wykonany jest następująco: http://obrazki.elektroda.pl/4062235800_1... Elementy: MOC3042 BTA136 2x rezystor 330R Układ wykonawczy działa i podanie wysokiego stanu zapala żarówkę, zadanie niskiego ją gasi. Jako obciążenie...

    Mikrokontrolery Początkujący   12 Gru 2011 10:07 Odpowiedzi: 12    Wyświetleń: 3429
  • [C] Atmega32 Timer0 CTC – dioda nie zapala się w przerwaniu, kod nie działa

    Chcialbym napisac najprostrzy program aby sprawdzic czy progra mi wogole wchodzi w przerwanie czyli czy zapali diode. Ale zupelnie nic sie nie dzieje. Zarówno symulacja programowa w AVR Studio, jak i program uruchomiony na realnym sprzęcie działa poprawnie. Albo się pomyliłeś co do podłączenia diody, albo procesor jest uszkodzony. Po drobnej zmianie...

    Mikrokontrolery   07 Mar 2011 09:24 Odpowiedzi: 8    Wyświetleń: 1997
  • Atmega644pa - PWM: Sterowanie jasnością diody i obrotami silnika - kod nie działa

    Tutaj zmieniasz rejestr licznika T0 a poniżej już T1 TCCR0A |= (1<<COM1A1)|(0<<COM1A0); //Clear OC0A on Compare Match, set OC0A at BOTTOM Ponadto włączasz przerwania a nigdzie nie masz do nich obsługi. Poza tym przerwania do PWM nie są potrzebne. Ponadto nigdzie nie skonfigurowałaś że pin OC1A czyli PD5 ma być wyjściem.

    Mikrokontrolery   03 Sty 2016 13:41 Odpowiedzi: 6    Wyświetleń: 909
  • [C] Atmega16 Timer0 - Przerwanie co 1s opóźnia się o 1,5s na minutę, dlaczego?

    Witam! Chcąc dodać zegar do mojego projektu musiałem wygenerować przerwanie, które dodawałoby 1 do zmiennej co 1s. napisałem programik jak poniżej, lecz niestety zliczając późni się o około 1/1,5s na minute... ktos wie gdzie robię błąd? gdzieś się pomyliłem? http://obrazki.elektroda.pl/9649052700_1... Preskaler ustawiony na 64, czyli...

    Mikrokontrolery AVR   12 Wrz 2012 18:12 Odpowiedzi: 11    Wyświetleń: 1212
  • Atmega 16 - nieprawidłowe działanie przerwań INT0, INT1 przy 16MHz

    Możesz nieco rozwinąć temat? Na początku próbowałem w programie zliczać stany na pinach procka, ale to była zupełna klapa, bo gubił kroki niemiłosiernie. Rozumiem, że proponujesz aby licznik sprzętowo zliczał zmiany na określonym pinie. Nie bardzo rozumiem "użyj jednego, np. 800 Hz - co 80 przerwań masz odliczony odcinek 100 ms" Ja muszę dokładnie ustalić,...

    Mikrokontrolery AVR   08 Kwi 2014 12:12 Odpowiedzi: 2    Wyświetleń: 2085
  • KAMAMI ZL3 AVR, Atmega32-16PU, TIMER0 - Częstotliwość przed i po preskalowaniu

    A moje pytanie, czy przy takim algorytmie, pomimo tego że nie wykorzystuje przerwań a na pinie mam częstotliwość którą chciałem procesor będzie miał jeszcze "czas" na po prostu realizację programu ? Czy tak skonfigurowany timer wykorzystuje procesor ? Widzę że timery to twoja słaba strona, więc napiszę ci troche ... Wszystkie timery w AVR mają możliwośc...

    Mikrokontrolery AVR   30 Mar 2017 19:25 Odpowiedzi: 12    Wyświetleń: 1317
  • [ATmega128L] Jak napisać kod w C dla woltomierza na ATmega128L z Codevision AVR?

    #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 (1<<UDRE) #define RX_COMPLETE (1<<RXC)...

    Mikrokontrolery   29 Maj 2008 17:57 Odpowiedzi: 6    Wyświetleń: 1761
  • Atmega8535 i częstotliwość taktowania kwarcem zewn. HELP.plz

    Witam. Walczę z tym już od dłuższego czasu. z serią At90S nie miałem żadnych problemów, a jak AtMegi i AtTiny zastąpiły tą serie to przestałem czaić o co chodzi. Mianowicie: Atmegę 8535 taktuję zewnętrznym kwarcem 16MHz. do tego 2 kondensatory 22pF. Fusy ustawione tak: CKSEL0...3=0 - odhaczone CKOPT=0 - zaznaczone Napisałem prosty programik, który po...

    Mikrokontrolery   25 Wrz 2006 21:48 Odpowiedzi: 1    Wyświetleń: 1189
  • ATmega128A - Nie mogę ustawić breakpointów w Atmel Studio 6.2 i 7.0

    Wybacz, ale nie rozumiem współpracy tych linii kodu. Zastanów się nad użyciem [syntax=c]ISR(TIMER0_OVF_vect) { timer0_licz--;[/syntax] i dalej, cała funkcja [syntax=c]void delay_500ms(void) { ATOMIC_BLOCK(ATOMIC_FORCEON) { TIFR |= _BV(TOV0); //zerowanie flagi przerwania (zapis 1) TIMSK |= _BV(TOIE0); //aktywacja przerwania od przepełnienia TIMER0 (OVF)...

    Mikrokontrolery AVR   22 Cze 2016 06:33 Odpowiedzi: 37    Wyświetleń: 3150
  • Komunikacja USI -> SPI [Attiny25 -> Atmega8535]

    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 Atmel, jest to nota AVR319, do pobrania stąd [url=http://www.atmel.com/devices/ATTINY...

    Mikrokontrolery AVR   04 Kwi 2012 09:20 Odpowiedzi: 3    Wyświetleń: 2118
  • [C] Atmega16 - Timer0 spieszy o 3 sekundy po 5 minutach, prescaler 1024, 8MHz

    Witam, Chciałem napisać program do liczenia 'sekund'. Jest to początek mojej drogi do zrobienia zegara. Problem jest taki, że po 5 minutach zegar spieszy już o 3 sekundy. Gdzie popełniłem błąd? Prescaler ustawiony na 1024, atmega na 8MHz na kwarcu wewnętrznym(może tutaj jest problem?), według informacji które posiadam przerwanie powinno być generowane...

    Mikrokontrolery   31 Maj 2011 11:28 Odpowiedzi: 9    Wyświetleń: 2960
  • [ATMega8515][C] Regulowany generator impulsów 0-12hz

    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 Mode TIMSK |= (1<<OCIE0);// Enable Compare interrupt OCR0=100; //Set...

    Mikrokontrolery AVR   13 Lis 2009 15:04 Odpowiedzi: 4    Wyświetleń: 1853
  • [ATMEGA] [ATMEGA][C] - Niezależne sterowanie PWM dla diod na PB3 i PD7, co poprawić?

    nie wiem czy po "fachowemu" ale działa :) dzięki wielkie [syntax=c][/syntax] #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB |= (1<<PB3); //kierunrk pinu PB3 - wyjście (dioda1) DDRD |= (1<<PD7); //kierunrk pinu PD7 - wyjście (dioda2) TCCR0 |= (1<<WGM01)|(1<<WGM00); //tryb Fast PWM TCCR0 |= (1<<COM01);...

    Mikrokontrolery Początkujący   06 Lut 2013 10:14 Odpowiedzi: 3    Wyświetleń: 1074
  • [BASCOM][ATmega8515] Nie działające przerwania - TIMER0

    [syntax=basic4gl] $regfile = "m8515.dat" $crystal = 8000000 Config Portb.1 = Output 'RW LCD Portb.1 = 0 Config LCD = 16*2 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6 cls lcd "test" wait 1 cls Config Timer0 = Timer , Prescale = 1024 Tccr0 = 4 On timer0 Multi_kl Enable Timer0 Enable...

    Mikrokontrolery AVR   26 Kwi 2011 14:28 Odpowiedzi: 13    Wyświetleń: 2063
  • Przerwanie w ATMega8535. Nie mogę uruchomić przerwania.

    Witam, Próbuję uruchomić przerwanie timera 0 w ATMega8583 i jakoś nie mogę. W założeniu ma być to tryb pracy normalnej - licznik krąży i jak się przepełni to następuje przerwanie. Pewnie robię coś nie tak, tylko nie wiem co. Próbuję tak (to tylko fragmenty kodu dotyczące przerwania): .CSEG .ORG 0x0000 rjmp reset .ORG OVF0addr rjmp timer_0 reset:...

    Mikrokontrolery   27 Paź 2006 11:21 Odpowiedzi: 2    Wyświetleń: 1105
  • [asm] STK500 + ATmega8515l problem z programowaniem

    A czego miałem szukać w nocie katalogowej? Ewentualnych odpowiedzi na ewentualne pytania dotyczące kodu... U mnie CALL oznacza rcall. OK, ale i tak bez ustawienia wskaźnika stosu się nie obędzie. Oto poprawna i sprawdzona wersja na timerze : #define F_CPU1000000 .nolist #include <m8515def.inc> ; Prohibits use of non-implemented instructions (ATmega8515)...

    Mikrokontrolery AVR   19 Sty 2011 15:59 Odpowiedzi: 21    Wyświetleń: 1971
  • [Atmega8515] PWM na 16 bitowym działa na 8 niechce dlaczego?

    Witam poniżej przedstawiam kod programu za srednikami jest poustawiany timer 16 bit który steruje serwomechanizmem z modeli RC i działa wszystko poprawnie (wyjscie OC1A do serwa) natomiast ja chcialbym to serwo wysterować 8 bitowym wyjscie (OC0/t0 pin1 do serwa) I niby wszytsko dobrze posutawialem ale serwo ani drgnie dlaczego? #include "avr.inc"...

    Mikrokontrolery AVR   03 Sty 2010 00:52 Odpowiedzi: 3    Wyświetleń: 1698
  • [Atmega128] Atmega128 - problemy z portami po programowaniu PWM, uszkodzenie uC?

    Podłaczenie to: Atmega128L, port PB6-rezystorek-dioda(katoda w stronę procka-zasilanko 5V int main(void) { // konfiguracja portów we/wy DDRE=0xFF; PORTE=0xFF; DDRB=1<<PB6; TCCR1A|=1<<COM1A1|1<<WGM10; TCCR1B|=1<<WGM12|1<<CS0; TIMSK=1; TCCR0=7; sei(); // inicjalizacja LCD lcd_init(); LCDclr();...

    Mikrokontrolery AVR   25 Cze 2008 06:37 Odpowiedzi: 16    Wyświetleń: 2133
  • ATmega 32 - Kod nadajnika nie działa, komenda pokazuje same zera

    Cześć Ten kod mi nie działa.Czy moglibyście rzucić na niego okiem. Ten kod poprostu ma za zadanie nadawać w standardzie space.Ladnie pokazuje adres ale nie działa komenda pokazuje same zera. [syntax=c_mac] //Załączanie plików nagłówkowych #include<avr/io.h> #include<util/delay.h> //Czasy dla nagłówka #define first_header 9460 #define second_header...

    Mikrokontrolery AVR   13 Kwi 2015 14:36 Odpowiedzi: 3    Wyświetleń: 702
  • Jak uruchomić RTC w trybie POWER DOWN na ATMEGA128A?

    teraz działa poprawnie [syntax=c] int main( void ){ // *******************RTC******************... TIMSK &=~((1<<TOIE0)|(1<<OCIE0... ASSR |= (1<<AS0); TCNT0 = 0x00; TCCR0 = 0x05; while(ASSR&0x07); TIMSK |= (1<<TOIE0); __enable_interrupt(); //sei while(1) { MCUCR = 0x38; __sleep(); TCCR0=0x05; while(ASSR&0x07); } }...

    Mikrokontrolery AVR   05 Lip 2012 14:51 Odpowiedzi: 8    Wyświetleń: 1843
  • Atmega8515, Attiny26, SPI.Nie ustawia rejestru konfig...

    Hej. Od jakiegos czasu mecze sie z SPI. Napisalem program dla Mastera i dziala. Problem tkwi w Slave. Gdy puszczam symulacje w AVR Studio nie chce mi sie ustawic bitu USISIF w rejestrze USISR. Robie to tak: USISR|=(1<<USISIF); Master - Atmega8515 Slave - Attiny26 Attiny26 nie ma SlaveSelect wiec musialem je zrealizowac programowo. Zastosowalem...

    Mikrokontrolery   12 Maj 2007 08:08 Odpowiedzi: 11    Wyświetleń: 1578
  • Atmega8, kwarc zegarkowy, Timer0 multipleksuje tylko do 64..

    TCCR0 = _BV(x<<CS00); Źle użyłeś makra _BV. _BV(x) jest równoznaczne z ( 1 << x ), czyli w Twoim przypadku próbujesz wykonać podwójnie przesunięcie bitowe. Jeżeli x = 3 (CS00=0): _BV(3<<CS00) = _BV(3) = (1<<3) = 0b00001000 czyli TCCR0 będzie równe 0b00001000 . Innymi słowy, próbujesz ustawić bit tylko do odczytu, zamiast...

    Mikrokontrolery AVR   22 Gru 2010 23:21 Odpowiedzi: 4    Wyświetleń: 2802
  • [AVR] Nieaktywny Auto Trigger ADC na ATmega168 przy użyciu Timer0 w trybie CTC

    Witajcie, Problem powinien być trywialny a nie jest. Dotychczas stosowałem auto trigger ADC na ATtiny13 i działało to przewidywalnie według datasheeta, ale kod przeniosłem na ATmege168 i działać przestało, mimo że wszystko ustawione według dokumentacji. Po krótce: - uruchamiam timer0 w trybie CTC by zdarzenie Compare Match A zachodziło co 250us (4kHz),...

    Mikrokontrolery AVR   16 Gru 2020 20:52 Odpowiedzi: 19    Wyświetleń: 501
  • Jak sterować serwami za pomocą TLC5940 i ATmega328P? Ustawienie 50Hz

    witam, czy moglby mi ktos pomoc w przerobieniu tego kodu tak aby mozna bylo sterowac serwami. Nie wiem jak osiagnac czestotliwosc 50Hz [syntax=c]#include <stdint.h> #include <avr/io.h> #include <avr/interrupt.h> #define GSCLK_DDR DDRB #define GSCLK_PORT PORTB #define GSCLK_PIN PB0 #define SIN_DDR DDRB #define SIN_PORT PORTB #define...

    Mikrokontrolery AVR   30 Kwi 2017 17:57 Odpowiedzi: 15    Wyświetleń: 1425
  • [Atmega8515][C] Program zegara na lampach VFD - duchy.

    Witam. Posiadam program do zegara VFD, lecz posiada tak zwane duchy. Po zastosowaniu większego rezystora ograniczającego prąd siatki też można ten efekt zniwelować ale czy można byłoby zrobić to w programie? Btw czy można przerobić program dodatkowo na to żeby pokazywał datę? Wrzucam program: [syntax=C] ////////////////////////////////////////...

    Mikrokontrolery AVR   22 Mar 2011 07:37 Odpowiedzi: 53    Wyświetleń: 5921
  • AVR ATMega 8515 - Jak dokładnie odmierzyć sekundę za pomocą czasomierza?

    Chciałbym użyć wewnetrzny czasomierz do obliczenia sekundy. Przeglądałęm już forum i dowiedziałem się, że nie ma mowy o dokładym czasie ale chociaz w celach edukacyjnych chętnie bym poznał jak to się robi. Swoją drogą z czego ta niedokłądność wynika? Czy chodzi o to, że między taktami kontrollera występują różnicę czasowe wynikające z czynników zewnętrznych?...

    Mikrokontrolery AVR   27 Sty 2009 00:25 Odpowiedzi: 21    Wyświetleń: 3173
  • [ATMEGA32A] [C] Problem z UART oraz wysoka temperatura

    Witam wszystkich. Podczas dzisiejszej zabawy z Atmegą32a napotkałem 2 problemy. Jeden, to dziwnie działający UART: Przy takim kodzie: [syntax=c]#include <avr/io.h> #include <util/delay.h> #define PWM_A (1<<PD4) #define PWM_B (1<<PD5) int a = 0; #define USART_BAUDRATE 9600 #define BAUD_PRESCALE (((8000000UL / (USART_BAUDRATE *...

    Mikrokontrolery AVR   12 Lis 2017 17:35 Odpowiedzi: 2    Wyświetleń: 474
  • ATMEGA8535 - Biblioteka timer0 nie działa funkcja "Timer0_RegisterCallbackF

    Ta linijka w sumie nie ma potrzeby istnieć. Według mnie wystarczy wywołać: Timer0_Init()' i potem Timer0_RegisterCallbackFunction( jakaś funkcja ) i powinno chodzić. Jednak nic się nie dzieje. Samo Timer0_Init wygląda tak: void Timer0_Init(void) { //mt char i; uint8_t i; // Initialize array of callback functions for (i=0; i<TIMER0_NUM_CALLBACKS;...

    Mikrokontrolery AVR   09 Wrz 2013 21:06 Odpowiedzi: 3    Wyświetleń: 2010
  • Atmega328p i L293D w AtmelStudio - brak reakcji PWM, tylko prawy silnik działa

    W takim razie to problem polityczny. Pokaż aktualny kod i napisz czego od niego oczekujesz. Problem był chyba w za małym prescalerze. Zwiększyłem go zmienijąc kod w ten sposób TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (1<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02)...

    Mikrokontrolery AVR   31 Mar 2024 11:22 Odpowiedzi: 10    Wyświetleń: 495
  • [atmega8535][asembler/avrstudio] błędy przy sterowaniu PWM

    Witam szanownych forumowiczów. Wykonywany przeze mnie projekt to prosty sterownik lampek LED RGBW. Lampki sterowane są poprzez 4 kanały PWM, których współczynnik wypełnienia regulowany jest potencjometrami podłączonymi do 4 wejść ADC mikrokontrolera. Wyjścia PWM ustawione są w trybie fast PWM o częstotliwości 490Hz. No i poprawnie wykonana operacja...

    Mikrokontrolery AVR   15 Mar 2011 20:59 Odpowiedzi: 11    Wyświetleń: 1931
  • Atmega644pa - Timer1 nie odmierza równo 1 sekundy w trybie CTC

    Witam Mam dziwny problem z konfiguracją timer1 w atmedze644pa w trybie CTC. Kod jest następujący: [syntax=c] #define TIMER1_OCR 10801//10799//10800 // 1 sekunda void timer_init(void) { TCCR0A=(1<<WGM01); TCCR0B=(1<<CS02)|(1<<CS00); OCR0A=TIMER0_OCR; TIMSK0=(1<<OCIE0A); TCCR1B=(1<<CS12)|(1<<CS10)|(...

    Mikrokontrolery AVR   18 Wrz 2013 14:49 Odpowiedzi: 15    Wyświetleń: 2952
  • ATmega8515 PWM OCR1B – jak wyłączyć i ponownie uruchomić PWM z płynną regulacją?

    Robię PWM na porcie 8-bitowym OC0 i czy w takim wypadku do deaktywacji PWM'a wystarczy wpisać TCCR0 = 0x00?

    Mikrokontrolery   12 Kwi 2006 07:26 Odpowiedzi: 9    Wyświetleń: 1556
  • ATmega8535 – nie działa wyświetlacz LCD na PORTC, kod nie inicjuje LCD

    Dzieki, bardzo użyteczny sposób, którego nie znałem. Ostatecznie wyglada to tak var.h: #ifndef F_CPU #define F_CPU 8000000 #endif #define LCD PORTC #define LCDE PC6 #define LCDRS PC7 #define D7 PC2 #define D6 PC3 #define D5 PC4 #define D4 PC5 #define LCDREG DDRC #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) #define...

    Mikrokontrolery   17 Cze 2006 11:03 Odpowiedzi: 8    Wyświetleń: 1521
  • ATMEGA128L - brak przerwań od timera 0 mimo ustawień w AVR Studio 4

    Witam serdecznie Ostatnio zacząłem zabawę z programowaniem kontrolerów i od razu natrafiłem na dość dziwny (przynajmniej dla mnie) błąd. Mianowicie zauważyłem, że nie są przyjmowane przerwania od timera 0... Oczywiście na starcie programu wykonałem instrukcję odblokowującą globalne przerwania (asemblerowskie sei() ) ale nie dało to żadnego rezultatu,...

    Mikrokontrolery   20 Sty 2008 23:18 Odpowiedzi: 9    Wyświetleń: 1687
  • USART ATmega128 nie wysyła na TxD - konfiguracja i przerwania UART

    Może ktoś pomoże, dlaczego usart atmega 128 nie wysyła nic na wyjście RS TxD. Uart jest ustawiony, po wpisie do UDR0 nie wychodzi nic na wyjście TxD, nie wchodzi również w obsługę przerwania od nadajnika. SP. oto program: [syntax[syntax=asm] .nolist .include"m128def.inc" .list .defAL = r24 .defAH = r25 ;akumulator .equ SYS_FREQ_HZ = 8000000 .equ RS232_BAUD_RATE...

    Mikrokontrolery Początkujący   30 Maj 2012 14:04 Odpowiedzi: 3    Wyświetleń: 2237
  • atmega 8535 - Program nie sygnalizuje przerwań. ISR(TIMER0_COMP_vect)

    Witam, z niewyjaśnionych dla mnie przyczyn program napisany pot atmegę 8535 nie chce uruchamiać przerwań wywoływanych przez zegar. Posiadam taki następujący kod który powinien co przerwanie zmieniać stan portu B. [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> void system_init() { TCCR0 = 0x00; // Wylaczenie Timera 0 TCNT0 = 0x00;...

    Mikrokontrolery AVR   10 Wrz 2013 09:47 Odpowiedzi: 1    Wyświetleń: 1446
  • [Atmega169p] [C] Vu meter na 32 diodach RGB - problem z multipleksowaniem PWM

    Witam, próbuję wykonać vu meter na 32 diodach RGB. Aktualnie mam problem z samym sterowaniem wszystkich LEDów. Do zbudowania urządzenia użyłem atmegi 169p. Posiadam diody ze wspólna anodą. Są one podłączone jak na schemacie, czyli wszystkie katody danego koloru połączone są ze sobą i przez rezystor do mikrokontrolera do portów PWM, natomiast anody podłączone...

    Mikrokontrolery AVR   13 Wrz 2011 07:19 Odpowiedzi: 1    Wyświetleń: 1610