help w WinAVR?

Moje pytanie dotyczy help'a w AVR_Studio -tzn czy istnieje cos takiego jak np help w zwyklych kompilatorach C ( np Bilder'ze)? Czyli czy gdzies wypisane sa gotowe funkcje? Bo aktulanie staram sie zaprogramowac licznik w Atmedze8 i nie wiem jak sie do tego zabrac...Dodam ze jestem poczatkujacy w dziedziie procka...

Reasumujac jak nie ma czegos takiego jak help programowy, to jak szukac wzorow implementacji potrzbenych algorytmow np urzycia Timerow?

Za pomoc bede bardzo wdzieczny.

Rafal K.

Reply to
ToR
Loading thread data ...

ToR napisał(a):

W dokumentacji od konrtolera masz przykładowy kod jak włączyć timer. Jak chcesz gotowe rozwiązanie to daj znać na prv.

Reply to
Piotr

Jeśli chodzi o inicjalizację (nie tylko timerów zresztą) to polecam ściągnąć CodeVisionAVR w wersji ewaluacyjnej i skorzystać z tamtejszego kreatora kodu, który zawsze możesz sobie po wygenerowaniu przekopiować do swojego edytora. Oczywiście pozostają kwestje etyczne jeśli kod ten zamierzasz wykorzystywać w celach zarobkowych :)

Reply to
antek

Hmm faktycznie troche namieszalem ;) A wiec tak: mam srodowisko WinAVR-Gcc a symulator AVR_Studio 4.0 ...Douczam sie pisania C na procki z kursu EDW.

Dzieki za linka :)!

A ma ktos moze jeszcze jakies linki tym razem z przykladowymi gotowymi rozwiazaniami. Bo aktulanie chce wygenerowac za pomoca timera sygnal o f=40kh i nie wiem za bardzo jak sie do tego zabrac.

Mam jakies przykladowe rozwiazania i za pomoca pdf o bebechach procka wiem co sie uaktywnia w tym timerze ale nie wiem dlaczego...I moje pytanie jak to mozna zrozumiec? Wczesniej bawilem sie w BASCOMIE i nie mam nawykow adresowania poszczeglonych adresow danych w procku,a tu w C to podstawa.Co radzicie jak mam to zaczac poznawac?

Pozdro

Rafal K.

Reply to
ToR

ToR napisał(a):

Wszystko jest w dokumentacji:

f = fosc/(256 * Prescaler) gdzie f - czestotliwosc wyjsciowa, fosc - czestotliwosc zegara

Reply to
Piotr

No tak wiem, ale jak ustawic odpowiednie parametry Timera np: TCCR1B czy TCCR1B? Ponizej podalem przyklad kodu z jakiego ja korzystam aby nauczyc sie oprogramowywac Timer, i nie rozumiem dlaczego TCCR1A i TCCR1B sa tak ustawione...na czym to polega?

Sorry za byc moze glupie pytania ale ja poprostu tego nie widze, bo wiem ze sa odpowiednie rejestry, ale z kad wiadomo ze trzeba ja TAK a nie inaczej ustawic?

przykdlad kodu...

----------------------------------------------- void initiate(void) { TCNT1=0; OCR1A=800; OCR1B=0; TCCR1A=(1<<WGM10)|(1<<COM1B1); // dalczego takie ustawienia ???? TCCR1B=(1<<WGM13)|(1<<CS10); // // dalczego takie ustawienia ???? DDRB=0x0F; TIFR=0xFF;

}//initiate()

/************************* MAIN

*************************/ main(void) { SPH=0x04; SPL=0x5F; //np dlaczego takie ustawienie stosu ??? initiate(); while(1) { OCR1B=600; } ; }

------------------------------------------------------------------- Pozdro

Rafal K.

Reply to
ToR

ToR <ToR snipped-for-privacy@o2.pl napisał(a):

Ja zaproponuję Ci taki prosty generatorek dla ATMega8

//ATMega8 #define F_CPU 1000000UL #define WAVE 40000 #define genON TCCR2|=(1<<COM20); #define genOFF TCCR2&=~(1<<COM20);

#include <avr/io.h>

int main(void) { OCR2 = F_CPU/(WAVE*2)-1; TCNT2= 0; DDRB |= (1<<PB3); //Oc2 - wyjście TCCR2 =(1<<CS20 | 1<<WGM21);//preskaler=1 i włączony tryb CTC while(1) { // genON;//na PB3(Oc2) generowana jest fala prostokątna o częstotliwości 40kHZ // // genOFF;//PB3(Oc2)= PORTB,PB3 . // } return(0); }

Ale po "co jest co" , zapraszam do dokumentacji tego proca. Bez podstawowej znajomości architektury proca ... makabra :(

Piotrek

Reply to
Piotrek Sz.

Wielkie gdzieki za helpa ;). A wiec z koro mam juz niezbedny -bo wlasciwy kod zabieram sie to studiowania "bebechow" mam tylko nadzieje ze bede wiedzial co jest do czego no chyba ze to dopiero z czasem przyjdzie :>.

Pozdro, and one more time thx.

Rafal K.

Reply to
ToR

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.