Forum: Compiler & IDEs Xmega: Interne PullUps aktivieren


von MarkusB (Gast)


Lesenswert?

Hi, ich sitze gerade an einem ATxmega32A4 und versuche verzweifelt, die 
internen PullUp Widerstände zu aktivieren. Ich habe einen Taster gegen 
Masse angeschlossen und will eine LED schalten. Das funktioniert soweit 
auch, aber der Eingang "floated", wenn der Taster nicht betätigt ist. 
Die LED geht also willkürlich an, bis ich dem Eingang ein Potential 
gebe.

Ich habe dazu das Port Example aus den AppNotes etwas modifiziert und 
ich nutze die mitgelieferte port_driver.c
1
void Example1( void )
2
{
3
  /* Configure data direction for PORTC and PORTD. */
4
  //PORTC.DIRCLR=0XFF;
5
  PORT_ConfigurePins( &PORTC,
6
                      0xFF,
7
                      false,
8
                      false,
9
                      PORT_OPC_WIREDANDPULL_gc,
10
                      PORT_ISC_BOTHEDGES_gc );
11
  PORT_SetPinsAsInput( &PORTC, 0xFF );
12
  PORT_SetPinsAsOutput( &PORTD, 0xFF );
13
14
  /* Continously copy the value from PORTC to PORTD. */
15
  do {
16
    uint8_t temp = PORT_GetPortValue( &PORTC );
17
    PORT_SetOutputValue( &PORTD, temp );
18
  } while (true);
19
}

PORTC soll komplett als Eingang dienen, PORTD als Ausgang. Ich hab im 
Prinzip verstanden, was ich zu tun hab, aber entweder hab ich noch nicht 
verstanden, WIE ich es tun muss oder irgendwas ist faul.

Ich nutze eine relativ aktuelle Version von WinAVR (20090313, soweit ich 
sehe die letzte)

von MarkusB (Gast)


Lesenswert?

Kommando zurück. Ich hab die ganze Zeit das verkehrte Hex File benutzt. 
Sorry

von omg (Gast)


Lesenswert?

Idiot... toll da liest man ersten Post, und dann so ein Müll!!

Erstmal denken.. und dann posten.

Im Moment habe ich den Eindruck jetzt Idiot macht erstmal einen Thread 
auf, bevor er nur einmal richtig über das Problem nachgedacht hat - man 
kann ja auch andere denken lassen, oder einfach die Glaskugel fragen.

von Ch D. (chrisu) Benutzerseite


Lesenswert?

omg schrieb:
> Idiot... toll da liest man ersten Post, und dann so ein Müll!!
>
> Erstmal denken.. und dann posten.
>
> Im Moment habe ich den Eindruck jetzt Idiot macht erstmal einen Thread
> auf, bevor er nur einmal richtig über das Problem nachgedacht hat - man
> kann ja auch andere denken lassen, oder einfach die Glaskugel fragen.

Kann ja mal vorkommen...

von B e r n d W. (smiley46)


Lesenswert?

Das ist eine WinAvr-Schwäche, da sich beim Offnen eines anderen Projekts 
das Hexfile nicht mit umstellt. Ist mir auch schon passiert, man merkt 
es dann aber nach ca. 3-5 Minuten.

Mfg.

von Markus B. (Firma: Embedit Mikrocontrollertechnik) (_mb_)


Lesenswert?

Nein, das Problem war, dass ich vorher das Projekt normal mit dem GCC 
Compiliert hatte, ohne AVR Studio. Die Hex Datei lag im Projektordner 
und hatte den gleichen Namen wie die C Datei. AVR Studio legt die HEX 
Datei aber in einem Unterverzeichnis ab.

Das Dumme war halt, dass es eine HEX Datei von den gleichen Sourcen war 
und dementsprechend die gleiche Funktion hatte.

Deshalb muss man keinen als Idiot bezeichnen, vor allem, wenn man sich 
hinter einem anonymen Gast versteckt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.