PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [gelöst] M32 Pin PC7 ansteuern



Christian3
18.07.2009, 21:32
Wo ist Hier der fehler?



#include "RP6ControlLib.h"




int main(void)
{
initRP6Control();
initLCD();

PORTC |= IO_PC7; // High

while(true)
{


if(PINC & IO_PC7)
writeString_P("PC7 is AN!\n");
else
writeString_P("PC7 is AUS!\n");

}
return 0;
}

es ist egal was ich einsetze:

PORTC |= IO_PC7; // High oder
PORTC &= ~IO_PC7; // Low
es steht immer da das der pin an ist!
könnt ihr mir helfen
LG

dEx82
18.07.2009, 21:36
Da deine Frage nicht sehr Aussagekräftig ist rate ich mal ins blaue. Du hast einen Mega32 und an Port C sind die Pins 3,4+7 dauerhaft High?

Wenn ja musst du JTAG über die Fuses abschalten.

Christian3
18.07.2009, 22:12
ok sry für die nicht aussagekräftigefrag.
ja ich habe ein Mega32.
und ich möchte von den I/O Ports den siebten einschalten das hab ich so gemacht:


#include "RP6ControlLib.h"

int main(void)
{
initRP6Control();


PORTC |= IO_PC7; // High

while(true)
{


}
return 0;
}

so weil ich nicht wuste ob es so geht wollte ich prüfen ob er an ist und hab das so gemacht:


#include "RP6ControlLib.h"

int main(void)
{
initRP6Control();
initLCD();

PORTC |= IO_PC7; // High

while(true)
{

mSleep(2000);
if(PINC & IO_PC7)
writeString_P("PC7 is AN!\n");
else
writeString_P("PC7 is AUS!\n");

}
return 0;
}

aber da steht immer das der 7 I/O pin an ist (auch wenn ich ihn nochnicht eingeschaltet hab)
hoffe die frage is besser
LG

radbruch
18.07.2009, 22:13
Vielleicht hilft ein zusätzliches

DDRC |= PC7 // Datenrichtung für PC7 auf Ausgang stellen

gleich zu Beginn bevor du den Pin ein- oder ausschaltest.

Christian3
18.07.2009, 22:20
Vielleicht hilft ein zusätzliches

DDRC |= PC7 // Datenrichtung für PC7 auf Ausgang stellen

gleich zu Beginn bevor du den Pin ein- oder ausschaltest.
DANKE GEHT