USART atmega88, nybörjare

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: USART atmega88, nybörjare

Inlägg av snigelen »

Det första kompletta programmet du postade fungerar bra för mig med 9600 baud, ingen paritet och 1 stoppbit. Men jag ändrade ch = 0b00011111 till ch = 'U' för att få ett skrivbart ascii-tecken.
Kör m88:an i 8MHz? Som standard är CKDIV8-fusen satt och då går den i 1MHz (och då har du väl 1200 baud i stället med dina inställningar).
Samuel84
Inlägg: 17
Blev medlem: 23 maj 2010, 22:12:15

Re: USART atmega88, nybörjare

Inlägg av Samuel84 »

tack tack! var ju ingen detalj direkt. konstigt att man aldrig läst om den fusen i dessa sammanhang. ska pröva detta när jag kommer hem ikväll. tack.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: USART atmega88, nybörjare

Inlägg av sodjan »

Vad menar du med "dessa sammanhang" ?
Att ha koll på "fuses" är väl kurs 1A i allt jobb med AVR. :-)
Samuel84
Inlägg: 17
Blev medlem: 23 maj 2010, 22:12:15

Re: USART atmega88, nybörjare

Inlägg av Samuel84 »

borde vara iaf. men icke :p . första gången jag hörde talas om det när snigelen nämde det. kanske bara otur :p
Samuel84
Inlägg: 17
Blev medlem: 23 maj 2010, 22:12:15

Re: USART atmega88, nybörjare

Inlägg av Samuel84 »

... eller var du ironisk? :p
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: USART atmega88, nybörjare

Inlägg av sodjan »

Jag finner det lite märkligt om man pysslar med AVR men helt
har lyckats missa "fuses". Om det nu var så alltså. Fuses är ju
ganska centralt för att få saker och ting att fungera så som man vill.

Och det var inte tydligt vad du menade med "dessa sammanhang".
Om det var var i samband med just USART eller om det syftade
på AVR i allmänhet.

Hur det än är med det, så pekar det väl mest på att du har
slarvat lite med "hemläxan"...

Och förvånad är nog ett bättre beskrivning än ironisk.
Samuel84
Inlägg: 17
Blev medlem: 23 maj 2010, 22:12:15

Re: USART atmega88, nybörjare

Inlägg av Samuel84 »

ok. med sammanhang menade jag uart. de program jag gjort tidigare är sånt som rinnande ljus, en 4x4 knappsats, och knappsats till lcd- display. kanske har jag sysslat med fuses utan att veta om det? vad av det jag tidigare har gjort bör ha innefattat fuses, och på vilket sätt?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: USART atmega88, nybörjare

Inlägg av sodjan »

> vad av det jag tidigare har gjort bör ha innefattat fuses,

Allt.
Samuel84
Inlägg: 17
Blev medlem: 23 maj 2010, 22:12:15

Re: USART atmega88, nybörjare

Inlägg av Samuel84 »

då kan vi konstatera att jag hållit på med det tidigare :)
men ge gärna exempel på kod som manipulerar fuses som jag kan ha stött på.
Användarvisningsbild
björn
EF Sponsor
Inlägg: 2570
Blev medlem: 29 mars 2004, 23:09:55

Re: USART atmega88, nybörjare

Inlägg av björn »

Läs på lite om fuses på AVR, så slipper du ställa frågor som ovan. Dock har jag en känsla av att du *inte* ändrat dom tidigare, men hur du har kunnat missa att dom finns och hur dom ändras vet jag inte.
Samuel84
Inlägg: 17
Blev medlem: 23 maj 2010, 22:12:15

Re: USART atmega88, nybörjare

Inlägg av Samuel84 »

nä, om jag inte ändrat dom tidigare har jag ju uppenbarligen inte behövt ändra dom heller då mina program fungerat. har googlat lite och det verkar som dom används för att ändra klockfrekvensen. detta har jag dock stött på. men det var första gången jag hörde att det kallas fuses, det man manipulerar. så jag antar att jag hade stött på det tidigare. dock fick jag ett namn på det nu :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: USART atmega88, nybörjare

Inlägg av sodjan »

> ...inte behövt ändra dom heller då mina program fungerat.

Ja, med en viss definition av "fungerar". För vissa saker, som t.ex de som du nämnde
tidigare, så spelar det kanske ingen roll om processorn går i 1 eller 8 MHz (även
om det "rinnande ljuset" kanske inte rinner med den fart som man trodde). För
USART kommunikation är det dock helt avgörande att man har koll på hastigheten.

> har googlat lite

Googlat ??
Är det inte mycket enklare att bara läsa kapitel "27.2 Fuse Bits" i databladet ?
Eller var det som stog där inte tillräckligt ? Så kan det ju ofta vara så klart...

> men det var första gången jag hörde att det kallas fuses, det man manipulerar.

Konstigt. Databladet är nerlusat med referenser till "fuses", speciellt i kapitlet om
oscillatorn och frekvenser, vilket ju var det som du säger att du har studerat.

> ...och det verkar som dom används för att ändra klockfrekvensen.

Bl.a. Det låter på dig som att det bara var det. man som sagt, databladet
är helt tydligt när det gäller vad fuses används till.

En annan liten detalj bara...
Ditt tangentbord verkar sakna versaler, det gör dina inlägg lite onödigt
svårlästa. Du kanske ska kolla på det. Eller lära dig de mest elementära
svenska skrivreglerna, om det är det som är problemet. Eller så är det
bara så att du avsiktligt skiter i det och det är bara respektlöst mot de
som du förväntar dig ska läsa dina alster. Vilket det än är så är det en
fördel om du "fixar" det.
Samuel84
Inlägg: 17
Blev medlem: 23 maj 2010, 22:12:15

Re: USART atmega88, nybörjare

Inlägg av Samuel84 »

Jo, jag surfade från jobbet från mobilen, därav ingen möjlighet till datablad, och versalerna fick stryka lite på foten av samma anledning. Jo precis. Mina tidigare program har det inte spelat ngn roll för. Och som jag sa var jag själv lite förvånad att jag inte stött på detta tidigare. Blir till att lusläsa databladet ikväll och sätta frekvensen till 8Mhz, alternativt ändra baudraten. Det som jag finner lite märkligt är att det skickas 4 bytes i varje cykel av programmet. Ngn som har ngn idé om varför?
Var verkligen inte meningen att uppfattas som respektlös :cry: . Är väldigt tacksam för all hjälp! Försöker lära mig detta på egen hand. Har en vän som läser på universitetet som jag får uppgifter av (som också är nybörjare).
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: USART atmega88, nybörjare

Inlägg av sodjan »

> Det som jag finner lite märkligt är att det skickas 4 bytes

Det gjorde det nog inte. Det *togs emot* 4 byte, vilket är något helt annat.
Fundera lite på det så ser du varför... :-)
Samuel84
Inlägg: 17
Blev medlem: 23 maj 2010, 22:12:15

Re: USART atmega88, nybörjare

Inlägg av Samuel84 »

Precis... Självklart är det baudraten som är fel. Tack!
Nu fungerar det. :)
Skriv svar