f4 usb库相关问题

2019-07-21 04:44发布

现在在做usb相关测试有2个问题:
1.在tf卡读取的过程中(等待DMA传输完成),进入usb中断,usb中断又调用了tf卡写入程序,导致程序死循环
我尝试过调用库中的usbd_suspend和 resume,发现usb并不会暂停,
2.usb传输过程中上位机异常停止,没有接受数据,程序会不停的进入usb中断,然后不会跑到主程序中
我尝试使用库中的reset, stop,都无法使程序停止进入usb中断,

有没有做过usb的老司机帮帮忙
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
jimmjimm
1楼-- · 2019-07-21 07:29
现在用了一种比较丑的办法就是在读取文件时关usb中断,结束时再开,感觉有点蠢啊,有没有更好的方法
jimmjimm
2楼-- · 2019-07-21 12:24
2.已经解决,方法是使用dcd_int.c内的reset,然后再重新初始化usb,就可以了

1还在尝试
styleno1
3楼-- · 2019-07-21 16:25
从字面看,楼主前后台分工不明确。
如果是数据量处理不过来,要暂停传输,要做的是控制端点;(如误会你的意思,请指明)
从设备是无法左右总线活动的,这正是调试难点所在。
正点原子
4楼-- · 2019-07-21 16:48
 精彩回答 2  元偷偷看……
jimmjimm
5楼-- · 2019-07-21 19:43
回复【3楼】styleno1:
---------------------------------
我也不知道怎么说
tf卡读取是读取字库文件,当gui文字变化时(比如时间变化或者温度变化),如果这时候从上位机发命令让usb传输文件进tf卡就会出问题,我疑惑的是能不能在下位机上暂停这个传输,等待文字读取完成再开始,尝试了下几种方法都不行....有点迷茫

一周热门 更多>