Stimmt so, leider:
Zitat:
While flag bit TXIF indicates the status of the TXREG
register, another bit, TRMT (TXSTA<1>), shows the
status of the TSR register. TRMT is a read-only bit which
is set when the TSR is empty. No interrupt logic is tied to
this bit so the user has to poll this bit in order to
determine if the TSR register is empty.
Ich würde mir das mit einem Timer lösen. Dann verliert man nicht allzu
viel Performance. In dessen ISR kannst du den PIN setzen.
Alternativ nimm neuere PIC24, wie der PIC24FV32KA304. Die können das was
du willst. Da kann man das Verhalten mittels UTXISEL so einstellen, dass
der Interrupt kommt, wenn das shiftregister leer ist.
Es kann sein, dass einige neue PIC18 auch dieses Feature haben, aber da
kenne ich mich nicht aus. Ich würde mir neuer Devices mal anschauen.
Der Umstieg ist meistens leicht, weil PICs im gleichen Package oft das
gleiche Pinout haben.
Bei PICs wirklich enorm wichtig:
Darauf achten, ein neues Device zu nehmen. Microchip verkauft Schimmlige
Gurken von 1985 immer noch, daher ist Vorsicht geboten!
Bei den alten PICs ist die Peripherie oft Mist. Bei den neueren PICs,
speziell einige PIC24, ist die Peripherie inzwischen ein echter
Pluspunkt. Numm z.B. einen PIC24FJ128GC006 :-)