AVRstudio a definovanie pinov

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

AVRstudio a definovanie pinov

#1 Příspěvek od Atlan »

Mohol by mi niekto ukazat ako a ci sa da nejako jednoducho v Ccku nastavavat a definovat porty u ATmega8.

Napr PIC a prekladac od mikrocipu umiznuje nieco take:

#define clrp PORTCbits.RC0
#define clr PORTCbits.RC6
#define down PORTCbits.RC7
#define clkp PORTEbits.RE0


potom v programe staci uz len:

clrp=1; nastavi log 1 na Porte C0
clrp=0;

pripadne ide If (clk==0)....


Lebo S AVRstudio a WIN avr ... viem nastavovat porty len tymi prisern9mi vecami:

PORTD |=0b00000001; no vyzera to hrozne na okamzite pochopenie
a potom
PORTD &=0b01111111;

Tak ak niekto ie jednoduchy a prehladny sposob ako nato budem rad ak mi ho ukaze.

Dakujem.....

Uživatelský avatar
datel12
Příspěvky: 25
Registrován: 12 úno 2009, 01:00
Bydliště: Plzeň

#2 Příspěvek od datel12 »

//makra
#define setb(port,pin) port |= 1<<pin //nastav bit
#define clrb(port,pin) port &= ~(1<<pin) //nuluj bit
#define negb(port,pin) port ^= 1<<pin //neguj bit

Priklad:
//nastaveni 3 pinu portu D
setb(PORTD,3);

//shozeni 3 pinu portu D
clrb(PORTD,3);

//negace 3 pinu portu D
negb(PORTD,3);

podobně se nastavuje i směr portu (vstup/výstup)
setb(DDRD,3)

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#3 Příspěvek od Atlan »

ok dik ...

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“