在使用ch9329芯片时,向芯片发送{0x57,0xAB,0,0x05,0x05,0x01,0x01,0,0,0,0x0E,0x57,0xAB,0,0x05,0x05,0x01,0,0,0,0,0x0D},即通信协议上的例子,但并没有反应,工作模式和串口模式在调试软件检测都为模式0,但在调试软件上模拟鼠标功能是可以实现的,请问是这个数组不对吗?还是其他的原因?
您好,调试软件ok说明使用电脑上串口和CH9329芯片通信没有问题,工作模式选择也无问题。如上发送十六进制内容格式正确,若采用其他硬件或单片机发送可通过芯片串口回复是否正常来确认结果。您也可以电脑上使用串口调试助手发送如上十六进制数据进行调测。
我通过串口循环发送{0x57,0xAB,0,0x05,0x05,0x01,0x02,0,0,0,0x0F,0x57,0xAB,0,0x05,0x05,0x01,0,0,0,0,0x0D}(按照通信协议为按下右键后松开),但不管怎么尝试,开始发送的第一次永远会接收到57 AB 00 C5 01 E4 AC的错误码,而后续的则都能生效,接收到的皆为57 AB 00 85 01 00 88的正确应答包,且实现了鼠标操作,请问这个第一次发送的错误是什么原因,能够消除吗
您好,芯片无此特殊设定。也即第一包和中间过程没有做过特殊处理。根据协议:
返回的串口命令表示SUM累加和不匹配,应该是串口数据发送过来时CH9329采样的就已经发生错误。另,串口信息回复和USB是否正常上传并动作无关联,只要串口命令及通讯电平无问题,就可以正常回复。