83Plus:Ports:08

From WikiTI
Revision as of 23:19, 19 August 2005 by Jim e (Talk | contribs)

Jump to: navigation, search

Synopsis

Port Number: 08h

Function: Link Assist Enable

This port controls whether the hardware link assist is enabled.

Read Values

  • Bit 1: 1 if link assist will generate an interrupt when a byte is received.(Link assist must be enabled)
  • Bit 2: 1 if link assist will generate an interrupt when a byte is can be sent.(Link assist must be enabled)
  • Bit 7: 1 if the link assist is disabled.

Write Values

  • Bit 1: Set to generate an interrupt when link assist receives a byte.(Link assist must be enabled)
  • Bit 2: Set to generate an interrupt when link assist is able to send byte.(Link assist must be enabled)
  • Bit 7: 1 to disable the link assist.


Comments

This port only exists on the 83+ SE and the 84+.

Programs which directly control the link port should disable the hardware assist.


Interrupts

Link Assist hardware can generate an interrupt when a byte is received or when a byte can be sent.


To enable an interrupt when a byte is received write 01 to port 08. When a byte received and an interrupt is generated bit 0 of port 9 is set. Like all interrupts this one needs to be acknowledged, do this by reading the byte from port 0A.


To enable an interrupt when a byte can be sent write 2 to port 08. When a when the the link assist is not busy it will generate an interrupt so you can send data. When this interrupt is generated bit 1 of port 9 is set. You acknowledge this interrupt by writing to port 0D.


The biggest benefit from the link assist interrupts is that no time must wasted waiting, it could take millisecond to send or receive a byte. With interrupts that time can be put to more useful code. I don't believe that you should have both of these interrupts enabled at the same. But really communication would dictate who is sending and receiving. Remember that TI-OS does not seem to handle these interrupts, disable them when your through.


Credits and Contributions

  • Michael Vincent: Original documentation of the link assist
  • James Montelongo: Interrupt information