A port object is optional. You only need to make one if you want to change a property from default.
An object of type port provides options for a serial port for general I/O use, e.g. by a portSender or portReceiver element. You can have multiple port objects in an experiment. In an experiment script you can make one outside trials with the command portObject and add it with addToExperiment.
A string that is the name of the serial port, as accepted by Psychtoolbox IOPort('OpenSerialPort'). From Psychtoolbox documentation: On Windows this could be, e.g. <cds>"COM1"<cds>, <cds>"COM2"<cds>, etc.; on Mac it is a path to a BSD device file, e.g. <cds>"/dev/cu.usbserial-FT3Z95V5"<cds> for a serial-over-USB device with unique ID FT3Z95V5; on Linux e.g. <cds>"/dev/ttyS0"<cds> for the first real serial port, <cds>"/dev/ttyUSB0"<cds> for the first serial-over-USB device, etc.
Default: Psychtoolbox defaults
A string that goes to Psychtoolbox IOPort('OpenSerialPort') input configString. See IOPort('OpenSerialPort') for more information. <cd><cd> = Psychtoolbox defaults, which usually you can leave.