AVR start
HWSW Famulus
hwsw at famulus.hu
Fri May 2 19:56:29 CEST 2003
Ha, a ledek a PORTD-en vannak akkor mit is kavarsz a PORTC-vel?
Egy port 3 regiszterbol all.
pl. a D port
DDRD megmondja bitenkent, hogy eppen kimenet vagy bement az adott lab
PIND itt olvashato vissza bitenkent a lab allapota mindig, akar kimenet akar
bemenet allasban van
PORTD adatregiszter ide irod amit kimeneti allapotnak szansz, amikor a DDRD
szerint kimenet a lab
ill, ha bemenet ideirod, hogy legyen-e felhuzo hozza
Szoval hogy jon ide PORTC?
Az egy masik regiszter, mitol valtozna?
Talan a PIND0-t kene visszaolvasni....
KJ
> Udv a listanak!
> Akik GCC-t hasznalnak vagy akarki:
> Ugy ertelemzem hogy ahhoz hogy olvassak egy portrol, akar egy labrol a
DDRC
> (errol szeretnek olvasni) -t 0x00-val toltom fel, ekkor input pinek
lesznek.
> PORTC-be 0xFF-et irok, felhuzoellenallatok mukodesbe lepnek.
> Csinaltam egy szep futofeny progit.
> Atnezne vaaki hogy a PINC0 valtozasra miert nem reagal? mit rontottam el?
:(
>
> #include <io.h>
> int main( void )
> {
> unsigned int led, i, j, k;
>
> outp(0xff,DDRD);
> outp(0x00,DDRC);
> PORTC=0xff;
> for (;;) {
> led=1;
> for(k=1;k<8;++k){
> outp(led, PORTD);
> if(PINC0==0) outp(~led, PORTD);
> led=led*2;
> for (i=0; i<255; i++)
> for(j=0; j<25;j++)
> asm ("nop");
> };
> led=128;
> for(k=0;k<7;++k){
> outp(led, PORTD);
> if(PINC0==0) outp(~led, PORTD);
> led=led/2;
> for (i=0; i<255; i++)
> for(j=0; j<25;j++)
> asm ("nop");
> };
>
> }
> }
>
>
> ---------------------------------------
> Legyszi ezentul az elektro at tesla.hu
> cimre kuldd a leveleket
>
More information about the Elektro
mailing list