Hallo, an meinem neuen 32Bit PIC32-Evalboard schaffe ich es nicht, den Port D vernünftig anzusteuern. Hier der Code: void main() { SYSTEMConfigWaitStatesAndPB(80000000L); SYSTEMConfigPerformance(80000000L); CheKseg0CacheOn(); mCheConfigure(CHECON | 0x30); mBMXDisableDRMWaitState(); IEC0CLR = 0x03800000; SPI1CON = 0; SPI1BRG = 0; SPI1CON = 0x10008320; //IC2CON = 0x0000; //IC5CON = 0x0000; TRISA = 0x0000; TRISD = 0x0000; //_TRISD9 = 0; //_TRISD12 = 0; //PORTSetPinsDigitalOut(IOPORT_D, BIT_9); //PORTSetPinsDigitalOut(IOPORT_D, BIT_12); //AD1PCFG = 0xFFFF; while(1) { // SPI1BUF = 'H'; PORTD = 0x00; PORTD = 0xFF; // PORTA = 0xFF; // PORTA = 0x00; } Interessanterweise funktioniert es bei folgendem Code: SPI1BUF = 'H'; PORTD = 0x00; PORTD = 0xFF; PORTD = 0x00; PORTD = 0xFF; PORTA = 0xFF; PORTA = 0x00; Wenn ich irgend was davon auskommentiere geht das Toggeln von Port D wieder nicht; Port A ist hingegen völlig problemlos. Hat von euch schon jemand ein ähnliches Problem beobachtet oder habe ich ein peripheral nicht beachtet, dass auf Port D zugreift und deaktiviert werden muss? }
Hat sich erledigt, das SPI-Modul benutzt den Pin an Port D für Slave Select ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.