# More interesting results on ConnectCore9P PortC

**URL:** https://forums.digi.com/t/more-interesting-results-on-connectcore9p-portc/5894
**Category:** NET+OS
**Created:** [August 18, 2009, 3:26pm UTC](https://forums.digi.com/t/more-interesting-results-on-connectcore9p-portc/5894 "2009-08-18T15:26:56Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![rdeabill](https://avatars.discourse-cdn.com/v4/letter/r/91b2a8/32.png) [@rdeabill](https://forums.digi.com/u/rdeabill)
#### Post date: [August 18, 2009, 3:26pm UTC](https://forums.digi.com/t/more-interesting-results-on-connectcore9p-portc/5894/1 "2009-08-18T15:26:56Z")

</div>

Hi All,

I thought that I had this all working a couple of days ago, but when I tried it out in anger I found that the basic Tx and Rx were operating Ok provided I did not use RTS/CTS handshaking. With the handshaking enabled the RTS output was not being driven and the CTS did not seem to be read.

After much stepping through the code with the debugger and some guesswork it seems that the way to resolve this is in “nagpio.h”

The original version of this had\>\>  
#define GPIO\_UARTA\_RTS (-30) /\* RTS for UARTA (ns9210/ns9215 errata fix) _/  
 #define GPIO\_UARTB\_RTS (-31) /_ RTS for UARTB (ns9210/ns9215 errata fix) _/  
 #define GPIO\_UARTC\_RTS (-32) /_ RTS for UARTC (ns9210/ns9215 errata fix) _/  
 #define GPIO\_UARTD\_RTS (-33) /_ RTS for UARTD (ns9210/ns9215 errata fix) \*/

#define GPIO\_UARTA\_CTS (-34) /\* RTS for UARTC _/  
 #define GPIO\_UARTB\_CTS (-35) /_ RTS for UARTC _/  
 #define GPIO\_UARTC\_CTS (-36) /_ RTS for UARTC _/  
 #define GPIO\_UARTD\_CTS (-37) /_ RTS for UARTC \*/

I revised the port C entries to directly point to the required GPIO lines as follows\>\>  
#define GPIO\_UARTA\_RTS (-30) /\* RTS for UARTA (ns9210/ns9215 errata fix) _/  
 #define GPIO\_UARTB\_RTS (-31) /_ RTS for UARTB (ns9210/ns9215 errata fix) _/  
 #define GPIO\_UARTC\_RTS (13) /_ RTS for UARTC (ns9210/ns9215 errata fix) _/  
 #define GPIO\_UARTD\_RTS (-33) /_ RTS for UARTD (ns9210/ns9215 errata fix) \*/

#define GPIO\_UARTA\_CTS (-34) /\* RTS for UARTC _/  
 #define GPIO\_UARTB\_CTS (-35) /_ RTS for UARTC _/  
 #define GPIO\_UARTC\_CTS (9) /_ RTS for UARTC _/  
 #define GPIO\_UARTD\_CTS (-37) /_ RTS for UARTC \*/

Now it seems to work OK with the handshaking.

Overall this appears to be a bit of a bug in a function which is used to take the negative “symbolic constant” and find the required GPIO number.

Hope this helps anyone else who wants to use PortC

Roy
