Malopre sam se pogresno izrazio. Postavio sam jedan snippet a pricao sam o drugom. Prvo sam probao sa ovim kodom (naravno varirao sam vrednosti iza countera, i kad nisam dobijao ocekivane rezultate sam presao na onaj jednostavniji, gde je paljenje sa kasnjenjem):
//if (counter == 10)
//{
// PORTD= ~PORTD;
// counter = 0;
//}
Pa sam ga naknadno iskomentarisao i presao na onaj se jednim paljenjem kada counter dostigne odredjenu vrednost.
Negde gore sam pitao da li nesto treba dodati u kodu za odredjivanje kristala. U ovom
FLIP-u ne vidim nigde podesavanja za fuse bitove. Dok uglavnom mikroElektronika programeri imaju tu opciju. Sad cu da vidim da li ima neki hint u dokumentaciji za tacno odredjivanje internog ili externog oscilatora.
Trenutno imam jos pristup UniDS3 razvojnoj ploci preko koga mogu programirati PIC i 8051, i mogao bih programirati atmega32. Samo sto je potrebno da koristim ovu malu
startUSB plocicu
Da li mogu preko ovog Clock Selection Register 0 – CLKSEL0 da odredim koji kristal da se koristi za generisanje clocka?
ovako nekako:
CLKSEL0.EXTE = 1;
CLKSEL0.CLKS = 1
[Ovu poruku je menjao endre85 dana 09.09.2011. u 22:22 GMT+1]
EDIT: sad sam nasao sledecu informacije:
Citat:
By default the AT90USB uses an internal osc at 8Mhz with the DIV8 fuse on (so 1MHz clock).
Citat:
Q: After reading the datasheet, it seems you can only program the Fuse bytes using serial or parallel mode and not using USB (like FLIP) etc. Is that the case?
A: Correct, you can reprogram the fuses with an ISP, HVPP or JTAG device. The USB bootloader is unable to change the fuses.
Hvala ti na strpljenju, veruj mi pomogao si mi mnogo. Iako jos ne radi sada imam mnogo bolju ideju sta i kako treba.
EDIT2:
Nasao sam i ovo:
Citat:
You can�t change the fuse, but you can change the CLKPR, at the top in main.
Code:
// set CLKPR bit to change clock prescaler
CLKPR = (1<<CLKPCE);
// no clock prescaler
CLKPR = 0;
Citat:
When the CKDIV8 fuse is set, it sets the CLKPS bits 3:0 to 0011 by default. But nothing prevents you to change that back to an undivided system clock or CLKPS bits 3:0 to 0000. When altering the CLKPR, you must disable global interrupts, write the CLKPCE bit to one, and all other bits to zero, then within 4 clock cycles, set the desired clock prescaler bits, while writing a zero to CLKPCE.
Although, this doesn�t alter in anyway the USB clock, which is derived from an internal PLL clock source, locked on the PLL prescaler (2MHz), which has his input from the crystal oscillator or external clock input, that�s why USB only works with a crystal or external clock source (8 or 16MHz).
Change the CLKPR at the start in main, just like you would do to stop the watchdog (something you should do, if you�re not using the watchdog).
[Ovu poruku je menjao endre85 dana 09.09.2011. u 22:33 GMT+1]
U jednom od gornjih primera koje sam postavio, stoji sledeca stvar:
Code:
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
Kontam da bi tako nesto i meni pomoglo.
[Ovu poruku je menjao endre85 dana 09.09.2011. u 22:42 GMT+1]
[Ovu poruku je menjao endre85 dana 09.09.2011. u 22:45 GMT+1]
[Ovu poruku je menjao endre85 dana 09.09.2011. u 22:45 GMT+1]