Ports

The 3DM-CV7-INS is equipped with multiple communication ports to facilitate various data transmission needs. Depending on your application and communication preferences, commands and data may be sent to the 3DM-CV7 via TTL level UART or USB.

Port ID Type Name Description
0x01 Special Main Alias for USB1 (Port ID 0x21) if port is open (DTR set), otherwise serial (Port ID 0x11)
0x11 UART Uart1 “Main” serial port
0x12 UART Uart2 Serial port via GPIO 1/2
0x13 UART Uart3 Serial port via GPIO 3/4
0x21 USB Usb1 “Main” usb port

 

 

The upper nibble (highest 4 bits) represents the port type, while the lower nibble represents the instance. So UARTs are 0x1_, USB is 0x2_, etc. 0x0_ is reserved for special cases.

Ex: For the UART feature, BEHAVIOR is divided into upper and lower nibbles (4 bits) for the port number and pin function.

 

BEHAVIOR = ((PORT_NUMBER & 0x0F) << 4) | UART_FUNCTION

BEHAVIOR = 0x22

| | __ Function: TX=1, RX=2

|

|___ UART: 1=UART1, 2=UART2, ...

The upper nibble of the global port number is dropped because it’s always UART in this case there aren’t enough bits for the whole number.

 

The mapping of UART ports and pins for 3DM-CV7-INS is shown below: 

 

Port ID Type
GPIO 1 UART 2
GPIO 2 UART 2
GPIO 3 UART 3
GPIO 4 UART 3

 

NOTE: It is not possible to assign the wrong port for a given pin. E.g. setting BEHAVIOR 0x22 won’t work for GPIO 3 or 4, and BEHAVIOR 0x32 won’t work for GPIO 1 or 2. BEHAVIOR 0x12 won’t work on any UART Type pins as port 1 is reserved for the main serial port.