十月 30, 2020
04:53 AM
PSoC63的USB插到电脑USB口,电脑已经识别到了USB CDC设备,此时电脑端不打开对应的COM口,PSoC63通过USB往电脑发数据就会死掉;电脑端打开COM口就一切正常。PSoC63怎么获取电脑端COM口有没有打开,来选择是否发送数据。我写的发送函数如下图所示
已解决! 转到解答。
1 解答
十一月 05, 2020
02:16 AM
目前来看代码确实存在上位机未开始接收之前,device发送数据,待host开启接收后数据无法被读取导致stuck,还是建议通过host端发送数据作为device开始发送的标志,使得device必要的时候才进行数据发送。
3 回复数
十一月 01, 2020
06:40 PM
没有直接的办法让PSoC6获取电脑端COM口有没有打开, 可以采用间接的办法,比如电脑端打开串口之后先发送标志字符,P6收到后再进行发送。 另外,问题重点应该是为什么会“死掉”,是电脑串口软件卡住了?降低数据发送量还这样吗?
十一月 01, 2020
07:36 PM
是PSoC6 MCU 的USB发送进入了死循环,一直死在了Cy_USB_Dev_CDC_IsReady(USBFS_COM_PORT, &USBFS_cdcContext) 这里,因为PC端的COM口未打开,所以USB第一次发送的数据没有被PC端读取,第二次再发就进入了死循环。
十一月 05, 2020
02:16 AM
目前来看代码确实存在上位机未开始接收之前,device发送数据,待host开启接收后数据无法被读取导致stuck,还是建议通过host端发送数据作为device开始发送的标志,使得device必要的时候才进行数据发送。