Hallo ARM-User, ich versuche gerade meinem AT91SAM7XC256 den Zustand des Port PIOB zu entlocken. An dem Port kann ich mit meinem Logik-Analyzer den Zustand an den Portpins sehen. Wenn ich aber das Register PIO_PDSR lese bekomme ich immer den Wert 0. Der Zustand der anderen PIO Register dürfte sich doch nicht auf das PIO_PDSR auswirken. Oder? Was mache ich falsch? Übrigens klappt das Schreiben wunderbar. Koopi
Gast
#475150
also den zustand des ports auszulesen ist relativ einfach; weise den zustand einer variablen zu. so siehst du am leichtesten den zustand des ganzen ports. gruß constantin
Gast
#487757
Ich habe mal einen Adress/Datenbus programmiert.
Dazu war auch ein Signal einzulesen.
Dazu die folgende Konfiguration:
// Enable the Clock of the PIO
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PIOB);
// Portbits 0-28 freigeben
AT91F_PIO_Enable(AT91C_BASE_PIOB, 0x1fffffff);
if(AT91F_PIO_GetInput(AT91C_BASE_PIOB) & (1<<28))//Abfrage, ob PB28
gesetzt
{
....
}
Vielleicht nützt es etwas.
Dirk
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.