打印

st usb官方例程

[复制链接]
1742|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jimmjimm|  楼主 | 2013-8-13 09:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
USB, ST, vi, TE, sd
现在我在研究stm32的usb实例,自己做了一块板子,用st的实例发现除了composite和mass storage这两个显示是unknow device,我想可能是sd卡连线的问题?可是有点不知道怎么解决
还有,我想做的是4个ep,2个中断,2个批量,批量用来传输文件,中断用来传输命令,这样可以么?
沙发
IJK| | 2013-8-13 09:25 | 只看该作者
先试试HID,应该没有问题的。
2个中断,2个批量,批量用来传输文件,中断用来传输命令,这样可以么?
可以的。

使用特权

评论回复
板凳
jimmjimm|  楼主 | 2013-8-13 09:47 | 只看该作者
IJK 发表于 2013-8-13 09:25
先试试HID,应该没有问题的。
2个中断,2个批量,批量用来传输文件,中断用来传输命令,这样可以么?
可以的。

啊,不好意思哦,写的不是很清楚,其他都是可以用的,就这两个不能用,我现在正在拿HID的例子改,可是2个bulk ep的callback有点不知道怎么写,mass storage里面也不是我想要的(我只需要读写固定的文件,不要要文件信息什么的),谢谢啦

使用特权

评论回复
地板
jimmjimm|  楼主 | 2013-8-13 11:28 | 只看该作者
还有一个问题哦....就是HID我把原来的2个ep的改成接受8bytes的数据就出错了,2bytes没问题,这又是什么原因呢

使用特权

评论回复
5
JasonWangFAE| | 2013-8-13 13:12 | 只看该作者
Which IC item do you use ?? STM32F1 or F2 ??

使用特权

评论回复
6
jimmjimm|  楼主 | 2013-8-13 14:23 | 只看该作者
JasonWangFAE 发表于 2013-8-13 13:12
Which IC item do you use ?? STM32F1 or F2 ??

STM32F1
改ep PacketSize的问题已经好了,是usb_prop里面的设置问题

使用特权

评论回复
7
jimmjimm|  楼主 | 2013-8-13 15:17 | 只看该作者
新问题出现,如果用HID旧有的USB_SIL_Read(EP1_OUT, Receive_Buffer);SetEPRxStatus(ENDP1, EP_RX_VALID);方式传输数据,数据不能大于端点的数据容量,不能传输并且会造成程序卡死,需要重启板子才能重新枚举,这样的话,中断传输需要怎么写呢?还有批量传输可以直接用例程里mass storage的方式写么?

使用特权

评论回复
8
hawksabre| | 2013-8-13 20:15 | 只看该作者
主要还是技术手册的问题   这是我的感觉   如果能将手册通读一遍   应该问题就解决了   楼主

使用特权

评论回复
9
jimmjimm|  楼主 | 2013-8-14 08:57 | 只看该作者
本帖最后由 jimmjimm 于 2013-8-14 09:02 编辑
hawksabre 发表于 2013-8-13 20:15
主要还是技术手册的问题   这是我的感觉   如果能将手册通读一遍   应该问题就解决了   楼主  ...

主要自己也是半桶水,没接触过这个,老板又要我做
现在又改说要只能通过特定程序查看SD卡特定目录下的文件与传输,现在只能好好的看下mass storage的代码与技术手册了......sdio_sd库又与我原来用的区别好大,有点无从下嘴的感觉

使用特权

评论回复
10
JasonWangFAE| | 2013-8-14 16:48 | 只看该作者
Do you modify the descriptor table ???

使用特权

评论回复
11
jimmjimm|  楼主 | 2013-8-15 08:48 | 只看该作者
JasonWangFAE 发表于 2013-8-14 16:48
Do you modify the descriptor table ???

没有,完全没有

使用特权

评论回复
12
JasonWangFAE| | 2013-8-15 09:36 | 只看该作者
1.Due to some issues , I cannot provide you file , I copy some codes to you as below and added this in your code in CustomHID_ConfigDescriptor

//===========================================
  0x95, 0x06,             //     REPORT_COUNT (6)
   0x75, 0x08,             //     REPORT_SIZE (8)
   0x81, 0x01,             //     INPUT (Constant); Reserved byte

2.modify max packet size from 2 to 8 , please refer to as below

                        /*        Endpoint descriptor type */
    0x01,        /* bEndpointAddress: */
                        /*        Endpoint Address (OUT) */
    0x03,        /* bmAttributes: Interrupt endpoint */
    0x08,        /* wMaxPacketSize: 8 Bytes max  */
    0x00,
    0x20,        /* bInterval: Polling Interval (20 ms) */
    /* 41 */

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

56

帖子

1

粉丝