Forum: Mikrocontroller und Digitale Elektronik PIC32 PortPin


von Frank (Gast)


Lesenswert?

Hi,

wir verwenden einen PIC32mx7 im TQFP 64 Gehäuse. Wir haben schon einige 
ausgangpins programmiert und die meisten funktionieren. Nur der Portpin 
31 (Port RF4) funktioniert nicht. Warum kann ich diesen nicht auf High 
setzen? Die Peripherie die auf diesen Pin liegt habe ich bereits 
ausgeschaltet. Muss ich noch einen weiteren Befehl schreiben? hier der 
code den ich für den PIN geschrieben habe


AD1PCFGSET = 0xFFFFFFFF;
ETHCON1bits.ON=0;
I2C3CONbits.ON=0;
SPI3CONbits.ON=0;
U3MODEbits.ON=0;
PMCONbits.ON=0;
TRISFbits.TRISF4=0;
PORTFbits.RF4=1;

Der Pin sollte jetzt eigentlich auf 1 gesetzt werden. Oder haben wir was 
falsch gemacht?

Viele Grüße und Danke

Frank und Stefan

von Frank (Gast)


Lesenswert?

Hi,

ich glaub ich hab das Problem gefunden. Und zwar habe ich ein define 
gemacht das lautet:

#define PIN31 PortFbits.RF4

und im programm habe ich dann das define bentutz um den Portpin auf 1 zu 
setzen:

PIN31=1;

aber jetzt die frage....warum funktioniert das nicht mit defines?

Gruß
Frank

von Al (Gast)


Lesenswert?

Versuche es mal mit:
- LATFSET = 0x0010;
- Ist ODCF Register ausgeschaltet?

von Jules (Gast)


Lesenswert?

Hallo,

ich hab Probleme mit meinem Pic32MX.
Wollte die SPI Schnittstelle initialisieren, aber wie sich herausstellt 
setzt/cleared er das CS nicht, bzw. er setzt/cleared es im Register aber 
der Pin ist immer High wenn ich messe.
ideen?
hilfe sehr willkommen!!

folgender code auszug:

  mPORTGSetPinsDigitalOut(BIT_9|BIT_14);    // set Port G (CE for Flash 
and EEPROM) as output
  mPORTASetPinsDigitalOut(BIT_7|BIT_9);    // set Port A (LED - 
Dipswitch) as output

  SPI_Init();                  //Initialisation of SPI

  mPORTASetBits(BIT_7);            // LED 1 on
  mPORTAClearBits(BIT_7);            // LED 1 off

while(1)
  {
  mPORTGSetBits(BIT_9);            //
  mPORTGClearBits(BIT_9);            //CE  für flash auswählen

  /*Read FLASH ID*/
  mPORTASetBits(BIT_7);            // LED 1 on
  //putcSPI2(0x90);              // command to read out statusregister 
ID
[...]

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.