我现在情况是这样的(有点长 希望大家耐心看下): 一片USb芯片实现U盘存储和上位机通信 问题 : 因为我必须先读到上位机数据才能发送,因此我在专门用一个线程来读取上位机数据。另一个线程中读写U盘。 我的做法是 :默认初始化为从机 ,当需要U盘存储的时候再初始化为主机 存储完毕 又初始化为从机。 但问题是从机转主机没问题 但主机转从机就不能读取上位机数据了。要是不操作U盘,那么从机完全正确。请问是什么问题呢? 还有 从机转主机时 需要初始化为主机模式并初始化磁盘,主机转从机时除了初始化为从机还有其他操作吗?
从主机转成从机之后需要从新初始化芯片。同时计算机需要从新检测设备的插入。上位机而不是一直在发送或者接收数据。
我就是一直检测中断管教的,但是主机切换从既可以 从机切换主机就不行了 请问 主机转从机 只需要初始化为从机模式就可以了吗?
还有就是主机模式可以查询U盘和单片机连接 那么从机模式下 有没有方法查询从机和上位机连接?
只需要设置下模式即可,或者你发0X05的复位命令延时50MS之后在设置设备模式也可以。设备模式下查询可以参考以下流程: ...... while(1){ set_mode(1){ if(setup)set_mode(2){ while(1){ PC-376 transfer data if(SUSPEND)break; } } else{ set_mode(6){ while(1){ if(INT==0)device_inter else break; } } } } }