关于CH32V203的USB-CDC例程代码

各位前辈下午好!

为节省成本想用CH32V203的PA10/PA11的USB开启CDC虚拟串口替代CH340通讯.

今天尝试了下EVT的例程代码,串口建立成功,但这个功能是类似占用PA2/PA3端口,尝试把PA2/PA3短接回环,串口读取正常.但是如果在While的循环增加代码,就是例程UART2_DataRx_Deal( );UART2_DataTx_Deal( );后增加其他代码那串口回环即延迟并且会不小心丢失字节.

个人理解例程是让串口2内部时时读取返回一个字节数据.一旦有其他代码那单个字节就要完成这些代码后再次串口2内部读取返回下一个字节数据,这样看除非把UART2_DataRx_Deal( );UART2_DataTx_Deal( );放进即时中断或者用有硬件单独处理不然基本没法达到实用.也不知我的理解是否正确,现在在设计硬件方案自己也没有能力研究透CDC代码,所以请问前辈们,CH32V系列的USB-CDC能否像CH340一样达到实时通讯并不被其他代码明显干扰,谢谢!

另外,看调试串口回环PA2/PA3是已经绑定在CDC串口上,不能被其他代码使用,这样我的小案子还是考虑用CH340+CH32V003,这样硬件和软件都没有技术瓶颈.

你好,在这样的功能中,速度和数据量是比较重要的因素,要求越高,难度也越大。像你所说的,可以通过中断和RTOS等软件上的处理来确保特定功能的优先级。如果要求确实比较高,考虑技术上的难度,在成本比较合理的情况下,最省事的方法还是用两个独立的模块。


只有登录才能回复,可以选择微信账号登录