Microchip
直播中

庞晓瑜

8年用户 174经验值
私信 关注
[问答]

PIC24FJ256GB108 USB拇指驱动器问题

我在USB主机MSD模式中使用APIC24FJ256GB108。我使用拇指驱动器来存储事件日志并使用它来更改设置。我遇到了一个问题,如果事件日志很大,微控制器就会忙碌并陷入一个循环中。我也看到了同样的行为与3个USB驱动器。我使用mla 2017-03-06框架,基于它的例子。我已经通过将一个大事件日志分解为小文件来减轻文件大小问题。如果有太多事件日志,我也会删除文件。我想能够写到UB3.0,如果USB卡住,就恢复。如果出现问题,我宁愿不写信给USB,只标记它,不要再试,继续运行。似乎被USBHostTransferIsComplete()卡住了。另一个奇怪的问题是,如果它卡住了,并且没有响应,我使用调试器暂停并重新启动它,然后重新开始运行。是否有一个设置或代码更改,使USB工作更好?

回帖(4)

康大争

2020-3-23 10:11:44
所以我编辑了u***_host_msd_scsi.c,在调用USBTasks()的10个地方我设置了100ms超时。我想显示一个故障时,我不能写入USB驱动器。如何传递错误以显示MEDIA_CANNOT_INITIALIZE,或者返回不是mediaInformaitioneach函数的地方定义了start_time,setI将允许用户设置1ms的中断。
举报

杨叶

2020-3-23 10:30:30
嗨,PIC24 USB主机堆栈处理FS(全速=12Mbitsmax),所以无论你的USB拇指驱动器是USB 2.0还是USB 3.0……如果你真的需要更高的吞吐量(HS高速=480Mbitsmax),你应该移动到PIC32MZ和Harmony或SAM4/SAM7处理器。
举报

杨伟

2020-3-23 10:50:02
你的USB棒上有很多文件/空间吗?FAT32可以有很多项,用于扫描和访问是非常低效的-它开始每次从开头的方法!尝试用空棒,或者你可以尝试切换到使用FATFs代替。
举报

康大争

2020-3-23 10:59:25
对于RISC来说,这不是一个速度问题。USB 3将不会在我的系统上工作。我尝试了2种不同的USB 3棒,但都不工作。我尝试过的每一个USB 2都有效。我想可能会有一个设置或需要为USB 3启用的东西。可能是电源问题还是硬件问题。Chris A。我已经看到了这个问题,这就是我限制日志文件大小和限制旧文件数量的原因。我仍然有一个腐败的驱动器锁定系统,因为我去到一个while循环,从来没有完成。我做了一个超时的那些循环,系统没有锁定,但没有迹象表明它不能再写入USB。我正在研究。FATFS在哪里适合?我猜它会取代Fielo,但是它会给我什么呢?这些问题似乎是在USB主机部分。
举报

更多回帖

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