虚拟串口工作过程
1.串口---->电脑
1.1.串口中断接收到字符---->放入 USART1_Rx_Buffer[],同时修正 usart1_rx_ptr.in 指针
1.2. USB 端点 SOF_Callback()定时触发,调用 Handle_USBAsynchXfer()判断是否需要发送数据
1.3.需要发送数据时,调用发送函数:
UserToPMABufferCopy(&USART1_Rx_Buffer[USB_Tx_ptr], ENDP1_TXADDR, USB_Tx_length);
SetEPTxCount(ENDP1, USB_Tx_length);
SetEPTxValid(ENDP1);
2.电脑---->串口
2.1.电脑通过串口软件或其他软件发送数据
2.2. EP3_OUT_Callback()函数处理电脑发送来的数据,使用 USB_Rx_Cnt 获取待处理数据长度,通过
调用 USART_Send_Data(USB_Rx_Buffer,USB_Rx_Cnt);函数,将接收到的数据通过串口发送出来
评论0