If you look in Appendix B of the TS-7800 Manual, you will see that RTS on the
COM1 header is controlled by bit 13 of the register at 0xE800000C. I think that
you need to flip this bit, rather than use ioctl().
http://www.embeddedarm.com/about/resource.php?item=393#appendixB
--- In "ray_gardiner" <> wrote:
>
> Hi All,
>
> I am interfacing to some external RS485 hardware that uses RTS to switch from
> transmit to receive. I am using /dev/ttyS0 (COM1)
>
> The way I normally drive RTS is using termios function, something like
> this..
>
> int RTS_FLAG = TIOCM_RTS;
>
> ioctl(port_handle, TIOCMBIS, &RTS_FLAG); // set
>
> ioctl(port_handle, TIOCMBIC, &RTS_FLAG); // clear
>
> I won't post the full code, except to say I have been using it on
> a variety of hardware for a number of years without problem...
>
> until now...
>
> What I suspect the problem is connected with is the dual function of the
> RTS/CTS DTR/DSR pins on COM1
>
> The RTS/CTS (and DTR/CD) lines are, I understand dual function, being used
> for the FPGA TS-UART /dev/ttts0 and /dev/ttts1 ports.
>
> /dev/ttts0 tx com1 pin 7 (RTS)
> /dev/ttts0 rx com1 pin 8 (CTS)
> /dev/ttts1 tx com1 pin 4 (DTR)
> /dev/ttts1 rx com1 pin 1 (CD)
>
> So my question becomes, how can I reliably disable these ports to restore the
> RTS (and the other pins) to their normal functions?
>
> I have tried setting baud rate to Zero, with no success, also I have tried
> using peek/poke utils to set bits 7:5 to all ones in the UART STAT register,
> but either I'm doing it wrong or I'm missing something.
>
> Writing to
> 0xE80000C0 (/dev/ttts0 STAT register) setting bits 7:6:5 to 1's
> and
> 0xE80000C4 (/dev/ttts1 STAT register) setting bits 7:6:5 to 1's
>
> I'm doing this with the peek/poke utilities, is that the correct approach?
>
> Any one else ever use RTS (or DTR) on COM1 on the TS7800?
>
> Any help would be greatly appreciated.
>
> Regards
> Ray
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|