Datasheet

/* Packet size. */
#define HS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE_2 (16)
#define FS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE_2 (16)
#define HS_CDC_VCOM_INTERRUPT_IN_INTERVAL_2 (0x07) /* 2^(7-1) = 8ms */
#define FS_CDC_VCOM_INTERRUPT_IN_INTERVAL_2 (0x08)
#define HS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE_3 (16)
#define FS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE_3 (16)
#define HS_CDC_VCOM_INTERRUPT_IN_INTERVAL_3 (0x07) /* 2^(7-1) = 8ms */
#define FS_CDC_VCOM_INTERRUPT_IN_INTERVAL_3 (0x08)
#define HS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE_4 (16)
#define FS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE_4 (16)
#define HS_CDC_VCOM_INTERRUPT_IN_INTERVAL_4 (0x07) /* 2^(7-1) = 8ms */
#define FS_CDC_VCOM_INTERRUPT_IN_INTERVAL_4 (0x08)
#define HS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE_5 (16)
#define FS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE_5 (16)
#define HS_CDC_VCOM_INTERRUPT_IN_INTERVAL_5 (0x07) /* 2^(7-1) = 8ms */
#define FS_CDC_VCOM_INTERRUPT_IN_INTERVAL_5 (0x08)
...
After merge, the above code becomes:
/* Packet size. */
#define HS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE (16)
#define FS_CDC_VCOM_INTERRUPT_IN_PACKET_SIZE (16)
#define HS_CDC_VCOM_INTERRUPT_IN_INTERVAL (0x07) /* 2^(7-1) = 8ms */
#define FS_CDC_VCOM_INTERRUPT_IN_INTERVAL (0x08)
Other similar code is not listed here, refer to the code attached with this application note for more details.
6.3.3 Use MACRO to avoid modify code manually
#define USB_INTERFACE_COUNT (30)
#define USB_INTERFACE_COUNT (2*USB_DEVICE_CONFIG_CDC_ACM)
#define USB_DEVICE_CONFIG_ENDPOINTS (16U)
#define USB_DEVICE_CONFIG_ENDPOINTS (1+2*USB_DEVICE_CONFIG_CDC_ACM)
Other similar code is not listed here, refer to the code attached with this AN for more details.
6.3.4 Use run time initialization instead of static initialization
6.3.4.1 Assign interface number dynamically
void USB_CdcVcomInterfaceIndexInit(void)
{
uint8_t i;
for(i = 0; i < USB_DEVICE_CONFIG_CDC_ACM; i++)
{
g_CdcVcomCicInterfaceIndex[i] = 0 + i*2;
g_CdcVcomDicInterfaceIndex[i] = 1 + i*2;
NXP Semiconductors
Key Steps
USB to Multi VCOM on K32L2 Series MCU, Rev. 0, November 2019
Application Note 21 / 25