求助:ch372与上位机通信问题

我现在在做一个51单片机+ch372与上位机通信的系统,上位机用C#调用dll来写。 因为老师要求比较高系统传输速率要比较高,所以我尝试用单片机发64字节的全1,电脑收到后统计1的个数和发送的次数,测试的速率32kb/s,可能是因为我单片机是用请求加应答方式写的,速度比较慢 请问大神,有没有单线数据流方式的demo,它最快的速度可以达到多少。

突然又发现一个问题,电脑接收“4”的时候会出错,有时会读成“6”,随机性地出错。发“14”没问题,发其他也暂时没出错。[Emot]6[/Emot]

你可以上位机发一包之后,下位机连续向上传输数据,连续上传的过程要注意,要等上一包上传完成之后才能传下一包。关于数据出错,你可以使用BusHound软件监视一下数据流,看是上位机问题还是下位机问题。


非常感谢你的回复。 我刚刚用BusHound试过,上位机没问题,应该是下位机的问题,我换了自己做得ch372的板也是这个问题,估计是单片机程序有错,你觉得会是什么问题呢? 再次感谢!


我用你们ch372DBG里面的调试工具调试,发送跟接收是正确的哦,难道是C#有问题,好矛盾啊


我发现什么问题了,应该是我的单片机接收数据的数组定义成char的原因,我把它改成int就可以正确发送,好神奇啊


大神,我的上位机是用c#调用dll写的,按你的方法可以将ch375ReadData设成一次读4096字节么,为什么我改了之后都不能发,怎样来实现一次读4096呢?


ch372的端点2应该只有64字节吧,一次不可能读4096字节,需要连续读64次;


上位机我用for读64次,但是程序会卡死啊


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