Siro
17.06.2015, 09:19
Hallo,
ich beschäftige mich seit längerem mit den Controllern der LPC Serie.
Für das letzte Projekt benutzte ich den LPC1768
Leider fehlt in dem SSP/SPI Modul ein Interrupt-Bit, welches aktiv wird wenn "ALLE" Bits fertig "ausgeschoben" sind.
Nun hab ich ein neues Projekt mit dem LPC1347 und muss zum Bedauern feststellen, auch hier gibt es
keinen Interrupt wenn alle Bits ausgeschoben sind.
Ich habe mehrere 595 Schieberegister an den SPI Port angeschlossen.
und zudem 2 serielle Display vom Typ LTM8522
Mein Problem:
Ich muss warten bis ALLE Bits komplett ausgeschoben sind um dann meine Chip Select Leitung zu bedienen. Das Latch Enable Signal für den 595 bzw. mein Latch Impuls für die Displays.....
Als "Notbehelf" hab ich über einen zusätzlichen Timer benutzt. Da ich weis wieviele Bytes ich aussende, stelle ich den Timer auf die Zeit, die die Hardware benötigt und bekomme dann meinen Interrupt.
Das nenne ich mal Resourcenverschwendung und umständlich hoch 3, wegen einem fehlenden Bit.
Ich benötige also einen Interrupt wenn auch das "LETZTE" Bit vom SPI Interface den Controller Pin verlassen hat.
Vielleicht habe ich auch etwas im Datenblatt übersehen....
Wenn ich das richtig verstehe kann ich NUR einen Interrupt auslösen, wenn der Sende FIFO halb leer ist.
beim LPC1347
Register: IMSC Bit: TXIM
Für Ideen bzw. Info wäre ich dankbar.
Siro
ich beschäftige mich seit längerem mit den Controllern der LPC Serie.
Für das letzte Projekt benutzte ich den LPC1768
Leider fehlt in dem SSP/SPI Modul ein Interrupt-Bit, welches aktiv wird wenn "ALLE" Bits fertig "ausgeschoben" sind.
Nun hab ich ein neues Projekt mit dem LPC1347 und muss zum Bedauern feststellen, auch hier gibt es
keinen Interrupt wenn alle Bits ausgeschoben sind.
Ich habe mehrere 595 Schieberegister an den SPI Port angeschlossen.
und zudem 2 serielle Display vom Typ LTM8522
Mein Problem:
Ich muss warten bis ALLE Bits komplett ausgeschoben sind um dann meine Chip Select Leitung zu bedienen. Das Latch Enable Signal für den 595 bzw. mein Latch Impuls für die Displays.....
Als "Notbehelf" hab ich über einen zusätzlichen Timer benutzt. Da ich weis wieviele Bytes ich aussende, stelle ich den Timer auf die Zeit, die die Hardware benötigt und bekomme dann meinen Interrupt.
Das nenne ich mal Resourcenverschwendung und umständlich hoch 3, wegen einem fehlenden Bit.
Ich benötige also einen Interrupt wenn auch das "LETZTE" Bit vom SPI Interface den Controller Pin verlassen hat.
Vielleicht habe ich auch etwas im Datenblatt übersehen....
Wenn ich das richtig verstehe kann ich NUR einen Interrupt auslösen, wenn der Sende FIFO halb leer ist.
beim LPC1347
Register: IMSC Bit: TXIM
Für Ideen bzw. Info wäre ich dankbar.
Siro