现在有个问题,就是我的CH376做主机,连接CP2102(USB转串口芯片)。 通过上位机串口软件向CP2102发数据,然后数据转发给CH376,再通过CPU透传。 现发现CH376接收CP2102过来的稍大数据的时候,比如600多字节。会出现丢数据的现象,或是丢包现象。丢数据一般是丢掉最后一包的最后几个字节,丢包一包是丢了中间的一个包(每包最大64字节接收) CH376开始接收之前的超次寄存器设置如下: xWriteCH376Cmd (CMD20_SET_RETRY); //设置重试次数 xWriteCH376Data( 0x25 ); xWriteCH376Data( 0xCA ); //这里为超时3s 试50次
然后USB接收处理是在外部中断里面处理; USB数据查询是通过定时器来查询,每个500ms查询一次。 请问这样的设计思路是否有问题?