Sida 1 av 1

checka om port är hög (C)

Postat: 9 september 2005, 23:01:22
av Virr3
hur gör jag när jag vill kolla om en port är hög? vad skriver jag?

eller, det jag skulle vilja göra är, om "port 1" är låg ska "port 2" bli hög

det enklaste borde vara bara en ifsats tycker jag, men vad ska ja skriva som argument? har inte programerat på väldigt länge och dessmindre med avr...

det är en atmega 32:a som ska programeras om det gör någon skilnad...

hoppas att det är utförligt nog, annars får ni säja till och jag får förklara bättre

Postat: 9 september 2005, 23:17:14
av sigma84
Jag skulle skriva nåt sånt här.

if(bit_is_set(port1,5))
Port2=0xff;

Om Bit 5 i Port1 är 1 så sätt alla bittar i port2 höga
Men vad vet jag jag är en amatör :)

där har du lite kommandon
http://users.rcn.com/rneswold/avr/x1540.html

Postat: 9 september 2005, 23:23:58
av Virr3
jättetack till både svaret och sidan :)

Postat: 9 september 2005, 23:25:13
av cykze
Eller direkt genom lite enkla bitoperationer:

Kod: Markera allt

if (PINB & _BV(PB0))
{
    PORTB |= _BV(PB0);
}

Postat: 9 september 2005, 23:50:04
av Virr3
liten följd fråga, onödligt att skapa en ny tråd för detta...

kan jag använda en port som jag inte satt som utgång som jord?

Postat: 10 september 2005, 01:45:57
av Tony
Nej.
Varför vill du göra det ?

Postat: 10 september 2005, 01:54:21
av Virr3
tänkte att det kunder vara lite smidigt och att jag inte behövde ändra på kretskortet, men, bra... då vet jag de...

tack för det enkla men, givade svaret