Hi John
If I used the uarts definition from there
https://www.ghielectronics.com/docs/44/fez-cerb40-developer
PC6 and PC7 is COM1 and not com6 as showed on your cerb40 schematic.
I made my design based on your schematics.
///
/// Initializes a new instance of the class.
///
/// The port name used
/// The baudRate needed
public SerialBase(string portName = “COM1”, int baudRate = 19200) {
// Initialize serial port
this.ComPort = new SerialPort(portName, baudRate);
this.ComPort.Parity = Parity.None;
this.ComPort.DataBits = 8;
this.ComPort.Handshake = Handshake.None;
this.ComPort.DataReceived += this._comPort_DataReceived;
try {
this.ComPort.Open();
}
catch (Exception ex) {
Debug.Print(ex.Message + " on " + DateTime.Now.ToString());
}
// Init receive buffer
this.receivedBuffer = new byte[Constants.Communication.MaxByteFromDevices];
this.messageToAnalyse = new byte[Constants.Communication.MaxByteFromDevices];
}
If i pass “COM6” as parameter of my constructor, i get an exception : "An unhandled eception of type “System.argumentException” occured in Microsoft.SPOT.Hardware.dll
If i pass COM1 as parameter, no exception and PC6 an 7 are used in place of PB6 and7.
I used this code to determine wich serial port really usable
////HardwareProvider hwProvider = new HardwareProvider();
////string port = “COM1”;
////var count = hwProvider.GetSerialPortsCount();
////Cpu.Pin tx;
////Cpu.Pin rx;
////Cpu.Pin cts;
////Cpu.Pin rts;
////hwProvider.GetSerialPins(port, out rx, out tx, out cts, out rts);
It is only 3 serial port usable : COM1,COM2 and COM3
I made some cuts and wiring on my design to redirect the schematic com1 on com2 and use com 6 as com1 and now it’s working BUT it was not my wish. I have now 7 cards where i have to make these correction.
Is it possible to use PB6 and 7 as SerialPort or are these pin only IIC as the url say?
I have another question… 
Is it possible to connect an enc28 on this module? ( it would be for another project i have…)
Regards
Damien