Typ proměnné registru ve funkci, ATMEL AVR Studio v C

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
mrkivka
Příspěvky: 21
Registrován: 22 srp 2010, 00:00

Typ proměnné registru ve funkci, ATMEL AVR Studio v C

#1 Příspěvek od mrkivka »

Potřeboval bych mít funkci, která by jako parametr měla PORTx a nevím jaký typ by měla mít proměnná port. Vysvětlím na příkladu.

Kód: Vybrat vše

void neguj_bit_4(???typ proměnné??? port)
{
     port ^= 1<<4;
}

main()
{
     neguj_bit_1(PORTA);
}

Vím, že tohle konkrétně by šlo udělat makrem, ale potřebuju to na složitější věc, která makrem jde udělat jen těžko.
Uživatelský avatar
AB1
Příspěvky: 312
Registrován: 23 lis 2009, 00:00

#2 Příspěvek od AB1 »

Kód: Vybrat vše

void neguj_bit_4(volatile uint8_t *port)
{
     *port ^= 1<<4;
}

int main (void)
{
neguj_bit_4(&PORTB);
Uživatelský avatar
mrkivka
Příspěvky: 21
Registrován: 22 srp 2010, 00:00

#3 Příspěvek od mrkivka »

Děkuji, funguje to :-)
Odpovědět

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