AVR-Port E (ATmega8515)

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

Translate This Thread From Danish to

Threaded View
Hejsa

Jeg sidder og er igang med et projekt med en ATMega8515. Her skal jeg
benytte de 3 I/O'er på Port E, men min compiler kender dem ikke, når
jeg i min kode refererer til eks. PINE.0, at der findes en port E. I
headerfilen er der ej heller en port E, hvilket jo forklarer dette,
men hvordan kan jeg så tilgå dem?
Port A - D er defineret i headerfilen vha. sfrb (Special Function
Register Byte). Men hvilken adresse ligger PINE og PORTE på?


--
Mvh.

Tomas


Re: AVR-Port E (ATmega8515)

Quoted text here. Click to load it

Det står i databladet for kredsen:

PINE har adresse $05,
DDRE på adresse $06, og
PORTE på adresse $07.

M.v.h. Mikael
--
Mikael Ejberg Pedersen
http://www.ejberg.dk

Re: AVR-Port E (ATmega8515)
Quoted text here. Click to load it
Super. Evt. kunne man jo "bare" tilføje dem i headerfilen, men
det vil nok være mere rigtigt, at tage dem med i kildekoden.
Hvorfor mon de ikke er indeholdt i headeren?

--
Mvh.

Tomas


Re: AVR-Port E (ATmega8515)

Quoted text here. Click to load it

Ja, det er jo et rigtig godt spørgsmål. Du må hellere spørge dem, der
har lavet headerfilen. Vi kan ikke så godt gætte, ikke engang på
hvilken compiler du bruger.
Men jeg ved da, at de er med i headerfilen til WinAVR (GCC)
compileren.

M.v.h. Mikael
--
Mikael Ejberg Pedersen
http://www.ejberg.dk

Re: AVR-Port E (ATmega8515)
Quoted text here. Click to load it

Sorry - Bruger CodeVision

--
Mvh.

Tomas


Re: AVR-Port E (ATmega8515)
Hvis jeg så laver et så simpelt program som:

#include <90s8515.h>

sfrb PINE=0x05;
sfrb DDRE=0x06;
sfrb PORTE=0x07;

unsigned char z=0;

void main(void)
{
        DDRB = 0xff;
        while(1)
                {
                z = PIND.0;
                PORTB.0 = z;
                }
        }

så går bit 0 på port B høj, når bit 0 på port D går høj; men
udskifter jeg z = PIND.0; med z = PINE.0; sker der intet!

Skal man gøre yderligere for at inddrage de 3 bit på port E end
de 4 andre porte?
 
 
--
Mvh.

Tomas


Re: AVR-Port E (ATmega8515)

Quoted text here. Click to load it

Jeg ved det faktisk ikke. Jeg har ikke selv brugt Mega8515. Men jeg
ser noget andet i dit program, der måske kan forklare den manglende
port E:

Quoted text here. Click to load it

Dette er ikke includefilen for Mega8515. Den er til den gamle
AT90S8515, som er udgået for år tilbage. Prøv at finde den rigtige
includefil og se om det hjælper.
Desværre kender jeg ikke rigtig noget til CodeVision.

M.v.h. Mikael
--
Mikael Ejberg Pedersen
http://www.ejberg.dk

Re: AVR-Port E (ATmega8515)
Quoted text here. Click to load it

Helt rigtigt. Det er fordi, jeg sidder og udvikler på et STK500,
hvori der sidder en 90s8515. Target er dog en ATMega. Men
ændring til den korrekte headerfil i mit endelige target
resulterer vel ikke i ændring af koden (udover headerfilen) -
eller gør den?


--
Mvh.

Tomas


Re: AVR-Port E (ATmega8515)
Quoted text here. Click to load it


Næsten ikke, Atmel bruger kun 10 sider på at forklare forskellen:

http://www.atmel.com/dyn/resources/prod_documents/doc2519.pdf

Re: AVR-Port E (ATmega8515)
Quoted text here. Click to load it
STK500,
forskellen:
Quoted text here. Click to load it

Tak, skæbne. Den fil er jeg ikke lige stødt på tidligere. Det er
da temmelig meget, der skal ændres, må jeg sige.

Takker mange gange :-)

--
Mvh.

Tomas


Re: AVR-Port E (ATmega8515)

Quoted text here. Click to load it

Ohooo. Og det er altså således på en 90S8515 at du ikke kan få port E
til at virke i første omgang? Det kunne evt. skyldes at port E først
kom med i Mega8515 ;-)

M.v.h. Mikael
--
Mikael Ejberg Pedersen
http://www.ejberg.dk

Re: AVR-Port E (ATmega8515)
Quoted text here. Click to load it

Det kunne måske have lidt at sige :-)

--
Mvh.

Tomas


Site Timeline