avr: använda xtal1 etc som i/o
avr: använda xtal1 etc som i/o
Hej, Jag har en ATmega88 och jag tänkte använda hela portb som utgångar, pb6 och pb7 ligger på samma pinnar som xtal1 och xtal 2. I databladet (s 74) finns det en tabell över "overriding signals for alternate functions in pb7..pb4". För pb7/xtal2 står det "/INTRC x /EXTCK + AS2", jag har satt AS2 biten, men hur ska jag göra för att uppfylla det första villkoret? M.a.o. vilken klocka ska jag använda om jag inte får använda intern RC osc. eller extern klocka, det känns som det kvarstående alternativet är en extern kristall men det känns ju inte aktuellt om jag ska använda pinnen till i/o?
/Micke
/Micke
Re: avr: använda xtal1 etc som i/o
Alltså du kan antingen köra den här uCn med "extern klocka". Det innebär att du har en kristall ansluten till PB6-7, eller så kör du med intern RC-oscillator och kan använda PB6-7 som vanliga I/O. Varför säger du att du INTE FÅR "använda intern RC osc."????Micke_N skrev:M.a.o. vilken klocka ska jag använda om jag inte får använda intern RC osc. eller extern klocka, det känns som det kvarstående alternativet är en extern kristall men det känns ju inte aktuellt om jag ska använda pinnen till i/o?
/Micke
- JimmyAndersson
- Inlägg: 26586
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
"Varför säger du att du INTE FÅR "använda intern RC osc."???? "
Ibland är folk lite väl snabba att överdriva med frågetecken och konstiga attityder så fort man undrar något. Ska det verkligen behöva vara såhär?
Micke_N: Rätt mig om jag har fel nu:
Du vill använda hela port b som utgångar och undrar därför vilken klocka du kan använda?
Ibland är folk lite väl snabba att överdriva med frågetecken och konstiga attityder så fort man undrar något. Ska det verkligen behöva vara såhär?
Micke_N: Rätt mig om jag har fel nu:
Du vill använda hela port b som utgångar och undrar därför vilken klocka du kan använda?
Jag börjar med att be om ursäkt för att jag betonade "inte får" i mitt förra inlägg. Det var inte meningen att skrika, jag ville bara betona vad jag inte förstod.
Jag ANTAR att du vill använda dig av PB6-7 som I/O, för att få tillräckligt många anslutningar till något projekt med en mega88 som du pysslar med.
Då får du använda dig utav något av dom 2 lägena med intern oscillator(CKSEL 0b0010 eller 0b0011). Signalerna i den tabellen du visar i ditt senaste inlägg behöver du mest troligt inte bry dig om alls. Däremot behöver du initiera PB6-7 som in- eller utgångar, precis som dom övriga pinnarna i port-B-registret DDRB.
Jag ANTAR att du vill använda dig av PB6-7 som I/O, för att få tillräckligt många anslutningar till något projekt med en mega88 som du pysslar med.
Då får du använda dig utav något av dom 2 lägena med intern oscillator(CKSEL 0b0010 eller 0b0011). Signalerna i den tabellen du visar i ditt senaste inlägg behöver du mest troligt inte bry dig om alls. Däremot behöver du initiera PB6-7 som in- eller utgångar, precis som dom övriga pinnarna i port-B-registret DDRB.
- JimmyAndersson
- Inlägg: 26586
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Tack för alla svar, ska testa CKSEL enligt Stinrew's tips och se vad som händer, jag sätter (redan) hela DDRB till utgång.
Jag tror jag läste någonstans i databladet att den interna oscillatorn var uppbyggd av en RC-krets och det var utifrån detta jag drog slutsatsen att det inte skulle fungera, eller åtminstone att allt blev motsägelsefullt. Man kanske inte borde läsa så mycket i databladet, blir mycket mindre information att blanda ihop då
Just nu vill då inte skrället programmera sig överhuvudtaget längre, efter lite trial and error med CKSEL har den hamnat i 128 kHz intern osc. med CKDIV 8 programmerad och dessutom med CLKPS3..0 till "1000" dvs ytterligare dividerad med 256 => långsamt (62,5 om jag räknat rätt)! Enligt databladet (kunde inte hålla mig från att läsa lite mer...) så är "Additional Delay from Reset" 14CK + 64 ms, dvs en mindre evighet, kan det vara detta som gör att programmeraren försöker skicka programmet innan Reset är klart eller något liknande?
Finns det någon inställning i avrdude som säger hur länge man ska vänta från det att Reset dragits låg tills programmeringen börjar? Använder icprog f.ö.
Jag tror jag läste någonstans i databladet att den interna oscillatorn var uppbyggd av en RC-krets och det var utifrån detta jag drog slutsatsen att det inte skulle fungera, eller åtminstone att allt blev motsägelsefullt. Man kanske inte borde läsa så mycket i databladet, blir mycket mindre information att blanda ihop då

Just nu vill då inte skrället programmera sig överhuvudtaget längre, efter lite trial and error med CKSEL har den hamnat i 128 kHz intern osc. med CKDIV 8 programmerad och dessutom med CLKPS3..0 till "1000" dvs ytterligare dividerad med 256 => långsamt (62,5 om jag räknat rätt)! Enligt databladet (kunde inte hålla mig från att läsa lite mer...) så är "Additional Delay from Reset" 14CK + 64 ms, dvs en mindre evighet, kan det vara detta som gör att programmeraren försöker skicka programmet innan Reset är klart eller något liknande?
Finns det någon inställning i avrdude som säger hur länge man ska vänta från det att Reset dragits låg tills programmeringen börjar? Använder icprog f.ö.
Tack för det, hade jag glömt. Hittade "-i" i avrdude men det blev ingen omedelbar framgång. Jag funderar på om någon/några delay(er) kan vara för kort(a)? Lite mer trial-and-error (mest det sista
)

Kod: Markera allt
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
Jag kör följande rad:
Får felet ovan hela tiden,
någon som har en aning om varför? Reset dras låg när den ska och jag kan se att det verkligen händer något på mosi,miso,sck när den försöker nå programmet. Någon delay som är fel? I så fall vilken, jag tycker inte att avrdude.conf är särskilt lätt att begripa i detta fall eftersom man inte vet om det är ms eller us som ska anges i parametrarna.
Kod: Markera allt
avrdude -p m88 -P com1 -i 100000 -v -u -U lfuse:w:0x62:m
