Dieses Problem kann auftreten, wenn Benutzer die falsche Einstellung für Edge Capturing gewählt haben, wodurch verhindert wird, dass ein Interrupt ausgelöst wird.
Wenn im PIO (Parallel I/O) Intel® FPGA IP-Core die Option "Individuelle Biteinstellung/-löschung aktivieren" deaktiviert ist, werden durch das Schreiben eines beliebigen Werts in das Edge-Capture-Register alle Bits im Register gelöscht. Dies ist eine Standardeinstellung in Nios® II binären Zählvorlage.
Zum Beispiel:
/* Setzen Sie das Edge-Erfassungsregister zurück. */
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE, 0x0);
Wenn die Option "Individuelle Biteinstellung/-löschung aktivieren" aktiviert ist, wird beim Schreiben einer 1 zu einem bestimmten Bit in das Register nur dieses Bit gelöscht. Zum Beispiel:
/* Setzen Sie die Edge-Capture-Register Bit 0 und Bit 1 zurück. */
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE, 0x3);
Um dieses Problem zu umgehen, wählen Sie die richtigen Einstellungen für die Option "Individuelle Biteinstellung/-löschung aktivieren".
- Wenn die Option "Bit-Clearing für das Edge-Erfassungsregister aktivieren" deaktiviert ist, werden durch das Schreiben eines beliebigen Werts in das Edge-Erfassungsregister alle Bits im Register gelöscht.
- Wenn die Option "Bit-Clearing für das Edge-Capture-Register aktivieren" aktiviert ist, wird beim Schreiben einer 1 zu einem bestimmten Bit im Register nur dieses bestimmte Bit gelöscht.
Die Benutzeroberfläche des PIO Intel® FPGA IP Core wurde auf die Beschreibung unter der Option "Individuelle Biteinstellung/-löschung aktivieren" erweitert, beginnend mit der Intel® Quartus® Prime Pro/Standard Edition Software Version 21.1