Sari la conținut
ELFORUM - Forumul electronistilor

librarie rtc winavr atmega 16 32.768 k


script22

Postări Recomandate

Mai intai sa va spun ce vreau sa fac.

 

De cateva zile mi-am instalt eclipse cu plugin de avr si avr-gcc asta mai putin conteaza ce vrau sa fac este un ceas cu data cu temperatura cu alarma si cu radio avand deja un cip tea5767.

LCD 2x16 , lm 35 pt temperatura tea pt radio iar ca amplificator voi folosi un integrat dintr-un monitor un tda 7496L are control volum in tensiune il voi folosi cu pwm. AM si encoder :)

 

Toate le-am ingesuit pe 2 cablaje cat lcd u suprapuse chiar a iesit ok imi place si sper sa il termin cat mai repede.

 

Saptamana asta am tot citit coduri in C++ am invatat despre el de aici http://www.tutorialspoint.com/cprogramming/index.htm lam citit de 2 3 ori cap coada si il am la favorite deoarece mi se pare interesant.

 

Deocadata vreau sa strnag toate librariile pt pwm adc tea si rtc mai am nevoie doar de rtc si dupa am sa ma joc putin cate putin cu el pana incepe sa prinda forma zic asta ca cunsc php binisor si sa ma joc in main cu junctii predefinite nu ar fi asa greu .

 

Daca aveti un program exact pt winavr care se compileaza fara surprise neplacute asa am gasit si pe net bucati de cod exemple pt alte compilatoare C++ va fi ori cum foarte mult de munca cu tot ce vreau eu sa fac dar asa sper sa invat C++.

 

Mai departe sunt sigur ca ma descurc cu for(;;)

 

 

MS MS PT SUSTINATORI.

Link spre comentariu
  • Răspunsuri 1
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • script22

    2

Zile populare

Top autori în acest subiect

am reusit cel mai greu a fost sa formatez timpu intrun singur char HH:MM:SS

a si am mai avut o problema daca ati mai intalnit-o careva rog putine comenturi nu am putut folosi timmer0 in mod asincron si anume nu am putut seta

ASSR |= (1<<AS0);
gcc error nu gaseste acel bit

si am folosit timmer2

ASSR |= (1<<AS2);
a mers din prima bininteles

 

#define F_RTC           32768// Define delay#define PERIOD_MS       1000ISR(TIMER2_COMP_vect) {     // Increment time     if(++tmr_sec == 60)     {         tmr_sec = 0;         if(++tmr_min == 60)         {             tmr_min = 0;            if(++tmr_hour == 24)             {                 tmr_hour = 0;                 tmr_days++;             }         }     } }
si

void tmr_init(void) {     /* Start timer 0 with clock prescaler CLK/1024 and CTC Mode ("Clear Timer on Compare")*/     /* Resolution is 32.25 ms */     TCCR2 = (0<<FOC2)|(0<<WGM20)|(0<<COM21)|(0<<COM20)|(1<<WGM21)|(1<<CS22)|(1<<CS21)|(1<<CS20);     // Reset time     TCNT2 = 0;     // Calculate and set period    OCR2  = (uint16_t)(((F_RTC/1024)*PERIOD_MS)/1000) - 1;     // Enable interrupt on compare match     TIMSK |= (1<<OCIE2);     // Select asynchronous timer 0 operation to use external 32.768 kHz crystal     ASSR |= (1<<AS2); }

 

si mainu

 

char timeCAST[8];      lcd_clrscr();    for(;;)    {        sprintf (timeCAST, "%02d:%02d:%02d",tmr_hour,tmr_min,tmr_sec);    	lcd_gotoxy(8,0);    	lcd_puts(timeCAST);    }

he he nu a fost greu am invatat si cum se configureaza bitii pt timmer am invatat si pwm cum sta treaha cu tote car ar ficeva nelamuri legate de compare1a si compare1b unde stiam initial ca aici ar fi pwm pt atmega 16 portd4 si portd5 mai e si portb3 care si ala scoate pwm

care e diferenta intre ele ori cum nu am nevoie am resuit cu compare1a si compare1b dar asa pt cunostintele mele cine stie cum sta treaba sa lase un coment. maine urmeaza rotary encoder care as vrea sa il folosesc cu externel int si nu cu timmer cu folosesc majoritatea.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări