我在写数据完毕后 数据都是能写进去 等下次再插U盘的时候就出现却没有办法再次识别,程序死在了判断U盘拔出的死循环,没能够判断出U盘的拔出[Emot]1[/Emot][Emot]1[/Emot]
那你看一下当U盘拔出的时候,INT引脚是否有低电平产生。当U盘拔出后,CH376应该会有中断通知的。
好像是u盘拔出的时候没有中断啊!!!怎么回事啊???
你用示波器来测试一下。
对不起啊 是有中断的 但是那就更找不到错的原因了 您分析会是什么原因呢 好U盘可以读出很多次不出问题 但次数多了也就不识别了 另一个U盘能读 但是下次就没有办法识别U盘了
既然有中断,那中断状态是什么? 拔出U盘,会产生拔出中断的。
我没有用示波器看,我是修改了拔U盘部分的程序 当拔出U盘后 我不清376给的中断 , 实验过程中确实拔U盘前是高 不出后是低 确实产生可中断 是不是用这种可能 就是虽然产生了中断 但是却没从376读到正确的回数啊??
产生中断,就要读中断状态,判断中断状态是什么。如果是拔出,则做相应的处理。 否则的话,不就丢失中断了吗?
我都是按照你们给的源程序操作的 没有变动 也是判断U盘式不是拔出 对于这部分程序我是这么理解的: 当U盘拔出376会给单片机一个中断 单片机会清除这个中断 然后单片机发检测磁盘的连接状态 当检测到U盘拔出,退出循环。
上电后第一次读数据相当的顺利 可再次插U盘读数据的时候就开始没办法识别一大部分U盘,我准备了7个U盘,仅有2个可以顺利的第二次识别
检查U盘的连接,建议通过发送0x30命令 来检测,该命令会产生中断,然后读取中断状态,判断设备是否连接。
376不是说从开始就出毛病的 是这样的 上电后 几乎是所有U盘都能识别出 初始化成功 然后成功的写入设备 但是再次插入U盘导出数据的时候 却出现了问题,U盘不被识别了似的
那么上次U盘断开,CH376有没有检测到,0x30命令也可以用来检查U盘的断开状态
我现在再反馈一个问题啊 在读完我的有问题U盘后 我使用外部复位复位376 但是用示波器并没有发现复位 在没读出问题的U盘前 还是能够正常的用示波器检测到复位信号??难道芯片死了 都吧支持复位了???
我用的是外部开关手动复位
我现在做了一个实验 为什么我用外部开关复位376的时候采集不到RST的高电平??我用示波器测得 ~~