我用的32单片机,用376HOST的例程改的来识别鼠标键盘的。在程序设置模式6和低速速率后得到的中断状态在插入鼠标前是0C,插入鼠标后是1F请问是什么原因啊?
首先确保测试命令和设置模式正确通过,返回值也正确。检查一下你中断那块的配置,插入鼠标之后正确的返回状态是0x15.
测试输入0x55输出一直是0XFA这可能是什么原因引起的呢、
由于我用的是stm32,默认主频是72M的,是用的SPI口通信,在时钟上是不是需要改动一下,应该如何改呢?
测试命令不通过,说明的的接口程序有问题。我们CH376提供24MHz速度的SPI设备接口,即你的SPI时钟需要小于24M。
在与PC通信的时候写的设备内置固件模式下,用的相同的读写函数电脑有反应的,我刚调试了下发现我的程序执行一次SPI读取数据大概要花10几微秒,这样的话用测试函数去测试的时候会不会出现不准的情况啊? Clr_USB_CS(); SPI1_ReadWriteByte(0x06); SPI1_ReadWriteByte(data); sa=SPI1_ReadWriteByte(0xff); Set_USB_CS(); 这里三个SPI1_ReadWriteByte()程序执行一下要10几微秒,这样会不会导致sa读出来的数据错误啊?
这个时间不会对数据读出数据有影响。如果这样的话,你可以检查一下硬件?CH376是否正常工作,第25脚复位输出电平是否为低电平?
硬件应该没问题,因为用的是火牛开发板。我把设备模式下的程序下进去与PC调试的时候都没问题,主机模式下用的都是相同的接口函数。但配置成主机模式调试的时候卡在while (Wait_Interrupt()!=USB_INT_CONNECT);一直跳不出去。中断返回一直达不到15。能不能告诉我个最简单的代码能过了这个中断
你之前不是测试命令和设置模式不通过吗?这两个命令都没有涉及到中断。
测试不行,但是设置模式OK的。而且测试命令只需要上电就可以测了吧?我现在也怀疑我的接口函数有问题,正在测。。。
上电复位后需要延时50ms,测试命令在这之后做。一定要确保测试命令通过。
(求助啊)试了好多种SPI读写方法,网上有人做成功的方法也用过了依然测试函数过不去。我觉得很奇怪,我用相同的函数去配置376成内置固件模式然后一设置模式2插到电脑上电脑马上有反应了。这又说明接口函数没问题,我很困惑了,为什么同样的函数一种情况行另一种情况不行。。。调疯掉了- -
我就配置好了端口,然后延时50MS后去用测试函数。然后返回值一直不对。 xWriteCH376Cmd(0x06); xWriteCH376Data(0x65); UK=xReadCH376Data(); 这个UK一直返回0x00;
你最好用示波器监控一下你的时序,是否有时钟?命令有没有发出去?