Mjerač kapaciteta sa ATmega8
Moderators: pedja089, stojke369, trax, InTheStillOfTheNight
Mjerač kapaciteta sa ATmega8
Zamolio bih nekoga tko se zna "boriti" s kodom za atmelove mikrokontrolere da iz "c"-datoteka za ovaj mjerač kapaciteta "proizvede" "hex"-datoteku, jer je to meni tlaka (morao bih čitati literaturu, ali trenutno bolujem od "information overload" sindroma).
Do stranice na kojoj su "c"-datoteke se može doći na ovom linku: http://pontoppidan.info/lars/index.php? ... ter&page=2" onclick="window.open(this.href);return false;
HVALA !
Do stranice na kojoj su "c"-datoteke se može doći na ovom linku: http://pontoppidan.info/lars/index.php? ... ter&page=2" onclick="window.open(this.href);return false;
HVALA !
Re: Mjerač kapaciteta sa ATmega8
http://www.elektronika.ba/708/mjerac-ka ... a-atmega8/" onclick="window.open(this.href);return false;
Evo sta mi je autor ovog projekta poslao:
Evo sta mi je autor ovog projekta poslao:
Znaci, malo prepravke koda ne gineHi Muris
Go ahead, but be aware that the code is kind of old and does not
compile with newer versions of avr-gcc!
Regards
Lars
Re: Mjerač kapaciteta sa ATmega8
A je li spomenuo hoće li on prepravljati taj kod ili očekuje da ga ja prepravim
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Mjerač kapaciteta sa ATmega8
Ja ti to mogu malo srediti kao code. Naravno da prolazi compile, ali nekako je to lose pisano. Kombinacija assemblera i c-a. Prvo sto je lose u kodu je to sto nisu dobro izvedeni header file-ovi sa ovim #define... To sve treba prebaciti u main.h ili nesto slicno. Druga stvar sto sigurno nece raditi je Interrupt vector jer u novim AVR compilerima se za interrupt navodi ISR(interrupt_source). Mogu ti to ja probati prebaciti, ali cu izmjeniti citav kod i napraviti kako bi trebalo, a kasnije vjerujem da ce biti nekih duhova koje bi trebao sam pronaci u praksi. Ovaj source je pisan za ATMEGA48, ATMEGA88, ATMEGA168, i ATMEGA8. Kada ti ga prebajujem moram znati Target CPU. Radio sam sa sva 4 procesora, a najviše sa ATMEGA168. Ovi 48,88,168 su identični po svemu osim po veličini flasha, rama i eeproma te imaju debug Wire. ATMEGA8 nema Debug wire, ali su registri na drugim adresama i ima dosta razlike oko samog izvornog koda. Za koji procesor to tebi treba?
InTheStillOfTheNight
Re: Mjerač kapaciteta sa ATmega8
Pa vjerovatno opet za ATmega8
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Mjerač kapaciteta sa ATmega8
Evo sto trebas promjeniti u njegovom kodu:
Funkcija Init(), file capmeter.c:
Odkomentiraj ovo za mega 8 i zakomentiraj ovo za 48 88 i 168
TIMSK = (1<<TOIE1); //(mega8)
//TIMSK1 = (1<<TOIE1); //(mega48/88/168)
Odkomentiraj ovo:
SFIOR |= (1<<ACME); // Ovako se pali Analog Comparator Multiplexer
Zakomentiraj ovo:
//ADCSRB |= (1<<ACME); // Ovo nece upaliti Analog Comparator Multiplexer i zato komentiramo
//Ovaj dio zakomentiraj: To je disable pull up otpornika na 48:88:168. To nema na atmega8
//DIDR1 |= (1<<AIN1D)|(1<<AIN0D);
I imaš jos jednu grešku u file-u lcd.c
Nigdje nije definirana frekvencija procesora za delay funkcije:
Ja sam je ovako definirao po početku filea lcd.c
#define F_CPU 4000000
Sada mozes napraviti compile bez greske sa novim AVRGCC
Pozdrav
Funkcija Init(), file capmeter.c:
Odkomentiraj ovo za mega 8 i zakomentiraj ovo za 48 88 i 168
TIMSK = (1<<TOIE1); //(mega8)
//TIMSK1 = (1<<TOIE1); //(mega48/88/168)
Odkomentiraj ovo:
SFIOR |= (1<<ACME); // Ovako se pali Analog Comparator Multiplexer
Zakomentiraj ovo:
//ADCSRB |= (1<<ACME); // Ovo nece upaliti Analog Comparator Multiplexer i zato komentiramo
//Ovaj dio zakomentiraj: To je disable pull up otpornika na 48:88:168. To nema na atmega8
//DIDR1 |= (1<<AIN1D)|(1<<AIN0D);
I imaš jos jednu grešku u file-u lcd.c
Nigdje nije definirana frekvencija procesora za delay funkcije:
Ja sam je ovako definirao po početku filea lcd.c
#define F_CPU 4000000
Sada mozes napraviti compile bez greske sa novim AVRGCC
Pozdrav
InTheStillOfTheNight
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Mjerač kapaciteta sa ATmega8
Ako ti nesto ne bude jasno samo pitaj... Mislio sam mjenjati program da bude citko napisan, ali onda bi mogao nešto fulati, pa bi ti napravio još više posla. Ove promjene su sigurno tocne, a sad za ostali dio programa, fuseve, i mozda nekakve bug-ove ne znam.
InTheStillOfTheNight
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Mjerač kapaciteta sa ATmega8
Pa da Smjesko samo za taj Mega8 pita, valjda je to jedini atmelov MCUtrax wrote:Pa vjerovatno opet za ATmega8
InTheStillOfTheNight
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Mjerač kapaciteta sa ATmega8
Ispravak netocnog navoda... Ne da mi se sada probati ovo sto pisem, ali nesto slicno sam imao sranje nedavno sa Delay funkcijom, pa me zahebavao za F_CPU.InTheStillOfTheNight wrote: I imaš jos jednu grešku u file-u lcd.c
Nigdje nije definirana frekvencija procesora za delay funkcije:
Ja sam je ovako definirao po početku filea lcd.c
#define F_CPU 4000000
Sada mozes napraviti compile bez greske sa novim AVRGCC
Pozdrav
Zapravo treba samo u postavkama tamo di definiras procesor navesti frekvenciju rada, i onda je sve ok. To bi bilo znaci profesionalnije rijesenje istog problema, naravno ako radi...
Kome se da, nek testira
InTheStillOfTheNight