USB模拟串口的疑问

Other Parts Discussed in Thread: LM3S3748, LM3S3739

我正在学习LM3S3748的例程,usb_dev_serial。程序里面,将UART0_BASE或UART1_BASE定义为USB_UART_BASE,另外,例程在于上位机通信的过程中,将原本属于UART的中断向量定义成了USBUARTIntHandler,并以此来完成上位机与下位机的通信。

请问,

1、USB模块在做模拟串口时,是否会强制占用芯片的一个UART模块?

2、如果启用USB模拟串口功能,那么还能正常使用UART模块完成芯片与其他UART设备之间的通信吗?

  • usb_dev_serial例程是实现USB虚拟串口通信。开发板工作在USB Device模式,当连接到PC时,USB作为模拟串口使用,PC会安装驱动usb_dev_serial.inf。使能UART0作为另一个真实的串口,用于系统的调试以及数据传输的查看。

    具体的流程是这样的:在PC上通过一个串口调试工具将数据通过USB模拟串口传输到开发板上,开发板将接收到的数据通过UART0回传到PC的另一个串口调试工具的接收数据区。也可以UART0发送,USB模拟串口接收。

    USBUARTIntHandler只是一个ISR的名字,可以随便命名的。

    1、USB模块在做模拟串口时,是否会强制占用芯片的一个UART模块?

    不会。

    2、如果启用USB模拟串口功能,那么还能正常使用UART模块完成芯片与其他UART设备之间的通信吗?

    能。

  • 非常感谢你的回答,有了你如此坚定的答复,我有勇气去尝试一下USB这个模拟串口的功能了。我要做的,是使用LM3S3739芯片的UART0与一个UART设配通信,用UART2与另一个设备通信,然后用USB模拟串口实现与PC的通信及数据传输。等功能实现了,再来决定您的回复可否结束这个话题。谢谢

  • 非常感谢你的回答,有了你如此坚定的答复,我有勇气去尝试一下USB这个模拟串口的功能了。我要做的,是使用LM3S3739芯片的UART0与一个UART设配通信,用UART2与另一个设备通信,然后用USB模拟串口实现与PC的通信及数据传输。等功能实现了,再来决定您的回复可否结束这个话题。谢谢