Software UART på Atmel ATTiny15 mikroprocessor

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Danish to

Threaded View
Hej

Jeg har fornylig erhvervet mig et Atmel STK500 udviklingssæt til
AVR-mikroprocessorerne.

Jeg har forsøgt at få Atmels Application Note AVR305 (Half Duplex
Compact Software UART) til at virke på en ATTiny15:
http://www.atmel.com/dyn/resources/prod_documents/avr305.asm

For at få den til at virke på ATTiny15 har jeg
- ændret includefilen til "tn15def.inc"
- ændret alle referencer fra PORTD til PORTB (jeg bruger stadig bit 0
og bit 1 til at modtage hhv sende)
- prøvet forskellige "b"-værdier udregnet v.hj.a. formlen i noten. Jeg
har f.eks. prøvet 2400 bps og 9600 bps og jeg har sat min terminal op
til samme indstillinger.

Jeg kan sagtens få det til at virke på en AT90S8515 blot ved at
initialisere dens stack pointer!

Men på ATTiny15 duer det ikke...
Når mikroprocessoren burde echo'e tegn sendt fra terminalen, kommer
der enten garbage eller ingenting tilbage til terminalen.

ATTiny15 har en indbygget 1,6MHz clock implementeret med en
RC-tidskonstant. Kan mine problemer skyldes, at clock'en kører langt
ved siden af de 1,6MHz?

Jeg håber I kan hjælpe!

mvh
Nils Emil P. Larsen
---------------------------
My reply-address is valid.
Min svar-adresse er gyldig.

Re: Software UART på Atmel ATTiny15 mikroprocessor


Quoted text here. Click to load it

Så lang tid du husker at programmere kalibreringsfaktoren er den indbyggede
oscillator nøjagtig nok.

Jeg har lavet mit eget sæt serial rutiner der kører 9600 baud og 8 bit på en
ATtiny15 og de virker fint også selvom jeg lægger MPU'en i fryseren.




Re: Software UART på Atmel ATTiny15 mikroprocessor
Hej HKJ

Quoted text here. Click to load it

Aha! Så jeg skal altså bare skrive den korrekte værdi til
OSCCAL-registeret, fx.

ldi r16, ??
out OSCCAL, r16

hvor '??' er den værdi jeg kan aflæse som "read oscillator calibration
byte" i AVR Studio?
Eller kan det gøres smartere, så der ikke skal være forskillige
programmer til forskellige ATTiny15?

Hvad sker der, hvis der ikke skrives noget til OSCCAL?

Mange tak for hjælpen!

mvh
Nils Emil P. Larsen

PS. Jeg kan først afprøve det på tirsdag.
---------------------------
My reply-address is valid.
Min svar-adresse er gyldig.

Re: Software UART på Atmel ATTiny15 mikroprocessor

Quoted text here. Click to load it

Korrekt.

Men jeg glemte at skrive en ting: Du skal have en stabil 5 volt forsyning
for at kalibreringsfaktoren virker korrekt.


Quoted text here. Click to load it

Hvis du gemmer værdien på en memory lokation (istedet for i en instruktion),
så kan AVR studio selv udskifte værdien, med den korrekte.


Quoted text here. Click to load it

Den kører på en default værdi og på ATtiny15 er det "bare" en fast værdi, på
de helt nye MPU'er er default værdien den korrekte kalibreringsværdi.




Re: Software UART på Atmel ATTiny15 mikroprocessor
Hej

Quoted text here. Click to load it

Det er forhåbentlig ikke noget problem på nuværende trin (stadig i STK500).

Men det virker perfekt nu, efter jeg tilføjede de to linjer med OSCCAL!

Tusind tak.


mvh
Nils Emil P. Larsen

Site Timeline