WCH沁恒单片机
直播中

zhongnian

8年用户 1366经验值
擅长:MEMS/传感技术
私信 关注
[问答]

CH9350L下位机状态4单接一个USB键盘输出数据异样怎么解决?

您好,我想咨询一下为什么 不同批次的CH9350L在同样外围电路情况下 数据输出格式差别很大?

主板上芯片拆下来 交换焊上,问题随着芯片走,好仍好,坏仍坏。
B18 ?? A10? ? ?? 不同的版本? 哪里有介绍其区别用法????




外围配置如下?
S0 = LOW,? S1=LOW ,? 状态4
BAUD0 = BAUD1 = 浮空不接任何器件 = HIGH , 115200,N81

SEL ?= 浮空不接任何器件
外接USB小键盘(23key), 3.3V TTL串口输出到 CH340的RXD(3.3V),??
(同一个键盘), 好芯片用过几十个都OK


数据监测结果如下,
1 老芯片=好芯片,
插入USB键盘? ?:? 57 AB 80 31
拔出键盘? ? ? ? ? :? 57 AB 86?
按下ENTER键? ?:57 AB 01 00 00 58 00 00 00 00 00?
如果持续按下ENTER而没有松开, 只有上一行数据返回,无其他
再松开ENTER键? ? :??57 AB 01 00 00 00 00 00 00 00 00?
清晰简洁,按下一行数据,? 松开一行数据 , 中间按着不动没有数据输出。


2 新芯片=坏芯片
插入USB键盘? ?:? 57 AB 80 FF
拔出键盘? ? ? ? ? :??57 AB 86?
按下ENTER键一次并马上释放? :
57 AB 01 00 00 58 00 00 00 00 00?
57 AB 01 00 00 58 00 00 00 00 00?
57 AB 80 FF?
57 AB 01 00 00 58 00 00 00 00 00?
57 AB 01 00 00 58 00 00 00 00 00?
57 AB 01 00 00 00 00 00 00 00 00?
57 AB 01 00 00 00 00 00 00 00 00?
57 AB 01 00 00 00 00 00 00 00 00?
57 AB 01 00 00 00 00 00 00 00 00?
57 AB 01 00 00 00 00 00 00 00 00?




如果持续按下ENTER而没有松开持续几秒再松开,数据如下,不停的有57 AB 80 FF 发出来。
57 AB 01 00 00 58 00 00 00 00 00?
57 AB 01 00 00 58 00 00 00 00 00?
57 AB 80 FF?
57 AB 01 00 00 58 00 00 00 00 00
57 AB 01 00 00 58 00 00 00 00 00
57 AB 80 FF?
57 AB 01 00 00 58 00 00 00 00 00
57 AB 80 FF?
57 AB 80 FF?
57 AB 80 FF?
57 AB 80 FF?

。。。。。。
57 AB 80 FF?
57 AB 80 FF?

57 AB 01 00 00 00 00 00 00 00 00?

57 AB 01 00 00 00 00 00 00 00 00?
57 AB 01 00 00 00 00 00 00 00 00?
57 AB 01 00 00 00 00 00 00 00 00?
57 AB 01 00 00 00 00 00 00 00 00?




好芯片的字符如下
WCH
CH9350L
504762A10


坏芯片的字符如下
WCH
CH9350L
504765B18


另外坏芯片的RXD引脚接地或者上拉 没有什么变化,仍坏
  
  自问自答吧:
B18 是 新版本(20220329 v2.6),他的输出很多 是为了防止丢失键值特意多次发送,? 不算是错误。
A10 是 老版本,以后不出了,


怀念老版本(简单)。新版本不向前兼容 差评,应该至少给人一个选择的机会啊!。

自己想想办法怎么对付这么多指令的处理。

关闭此议题。
  

回帖(1)

曾盼丽

2022-9-30 10:11:16
您好,目前最新的9350L串口,会对同一个键值数据做多次的传输,以防数据丢失,您可以在您的程序里面做一个位检测到案件抬起的键值,前面重复键值当作一次按键
举报

更多回帖

发帖
×
20
完善资料,
赚取积分