AVR - vstupy, vystupy

Petr Tomasek tomasek na etf.cuni.cz
Středa Červen 15 22:32:27 CEST 2011


On Wed, Jun 15, 2011 at 10:13:33PM +0200, Michal Grunt wrote:
> Zdravim,
> 
> potreboval bych trochu poradit. Ted jsem se do problemu tak zamotal, ze uz ani nevim ci jsem :-) Mam trochu zmatek s tim, jak u AVR (WinAVR+GCC) dany port (resp. pin napr. PD6) nastavit jako vstupni (a jak z nej cist) nebo jako vystupni (a jak na nej zapsat 1 nebo 0)...

co na to pan datašit?

> 
> Zapnout PD6 jako vystupni port
> 
> #define PD6_out   DDRD |= (1<<PD6);
> 
> 
> 
> Zapsat log 1
> 
> #define PD6_log1  PORTD &= ~(1<<PD6);
> 
> 
> Zapsat log 0
> 
> #define PD6_log0  PORTD |= (1<<PD6);
> 
> 

Naopak: log 1 = bit nastaven na 1.

> 
> 
> 
> 
> Zapnout PD6 jako vstupni port
> 
> #define PD6_in    DDRD |= (0<<PD6);

naopak: 1 = OUT, 0 = IN (=default)

Navic tam ma byt (1<<PD6), anzto (0<<PD6) == 0 

> 
> Cteni z PD6
> 
> #define PD6_read  PIND&PD6

PIND&(1<<PD6)

> 
> 
> 
> Je to tak, nebo uplne jinak?
> 
> 
> 
> MG
> 
> 

> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list at list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 


-- 
Petr Tomasek <http://www.etf.cuni.cz/~tomasek>
Jabber: butrus at jabbim.cz

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EA 355:001  DU DU DU DU
EA 355:002  TU TU TU TU
EA 355:003  NU NU NU NU NU NU NU
EA 355:004  NA NA NA NA NA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




Další informace o konferenci Hw-list