打印
[STM32F4]

[STM32F4]USB RxFIFO的地址在哪里

[复制链接]
3482|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zook0k|  楼主 | 2014-10-18 11:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看了文档RM0090只看到了设置RxFIFO大小的寄存器OTG_FS_GRXFSIZ,没有找到起始地址在哪里,看到了一个Rx起始A1=0地址固定为0,不太明白含义。
收到的数据应该从哪里去读取?谢谢!


沙发
想做大牛的小马| | 2014-10-18 19:52 | 只看该作者
RX FIFO共用1个,默认在fifo的偏移为0,这个FIFO是在一个dedicated ram里面,用户可以不用关心,
读DFIFO寄存器到你的应用buf里即可~

使用特权

评论回复
板凳
zook0k|  楼主 | 2014-10-18 20:27 | 只看该作者
谢谢!
”读DFIFO寄存器到你的应用buf里即可“,这句话怎么理解?
比如RX FIFO里面有10个数据需要读取到应用buf里面,前面的地址怎么弄?
是这样吗?可以通过一个寄存器(OTG状态读取和出栈寄存器)获取Rx FIFO这个地址,这个地址不是固定不变的。

使用特权

评论回复
地板
想做大牛的小马| | 2014-10-18 20:49 | 只看该作者
zook0k 发表于 2014-10-18 20:27
谢谢!
”读DFIFO寄存器到你的应用buf里即可“,这句话怎么理解?
比如RX FIFO里面有10个数据需要读取到应 ...

我的意思是只要去读,写DFIFO就可以了,
看代码+手册,呵呵~

使用特权

评论回复
5
zook0k|  楼主 | 2014-10-18 21:02 | 只看该作者
这个代码吗?stm32cubef4.zip?里面信息很多,不知道具体看那一部分。

使用特权

评论回复
6
myxiaonia| | 2014-10-20 09:21 | 只看该作者
想做大牛的小马 发表于 2014-10-18 19:52
RX FIFO共用1个,默认在fifo的偏移为0,这个FIFO是在一个dedicated ram里面,用户可以不用关心,
读DFIFO寄 ...

我曾经发贴问过这个问题,usb2.1库中接收fifo都是在DFIFO0处读取  相当于只用了一个rx fifo地址
但是   参考手册对dfifo的分配,每个通道都对应一个DFIFO寄存器进行读写
实际和手册出现矛盾了

使用特权

评论回复
7
想做大牛的小马| | 2014-10-20 12:58 | 只看该作者
myxiaonia 发表于 2014-10-20 09:21
我曾经发贴问过这个问题,usb2.1库中接收fifo都是在DFIFO0处读取  相当于只用了一个rx fifo ...

指的是F1还是F4呢,我看的是F4的手册~

使用特权

评论回复
8
myxiaonia| | 2014-10-20 13:28 | 只看该作者
想做大牛的小马 发表于 2014-10-20 12:58
指的是F1还是F4呢,我看的是F4的手册~

啊呀  忘记说明了  是f1的  你在手册上看到是只有一个rx fifo吗  

使用特权

评论回复
9
想做大牛的小马| | 2014-10-20 13:35 | 只看该作者
myxiaonia 发表于 2014-10-20 13:28
啊呀  忘记说明了  是f1的  你在手册上看到是只有一个rx fifo吗

The OTG peripheral uses a single receive FIFO that receives the data directed to all OUT
endpoints.

使用特权

评论回复
10
myxiaonia| | 2014-10-21 11:20 | 只看该作者
本帖最后由 myxiaonia 于 2014-10-21 11:21 编辑
想做大牛的小马 发表于 2014-10-20 13:35
The OTG peripheral uses a single receive FIFO that receives the data directed to all OUT
endpoints ...

我看了下F1系列也有这句话,但是TxFIFO也是一个FIFO呢

不知道你有没有注意到,读取rxFIFO总是从DFIFO0处读取,而txFIFO确实从DFIFO[通道号]读取


好久没有搞这个usb了,不用的话都快忘记的差不多了

使用特权

评论回复
11
想做大牛的小马| | 2014-10-21 11:49 | 只看该作者
myxiaonia 发表于 2014-10-21 11:20
我看了下F1系列也有这句话,但是TxFIFO也是一个FIFO呢

不知道你有没有注意到,读取rxFIFO总是从DFIFO0处 ...

可以看一下FIFO那张的图。。。

使用特权

评论回复
12
yang4469| | 2014-10-22 10:44 | 只看该作者
程序里面在usb_conf.h文件里面 F1和F4不一样的,F4是可以otg的

使用特权

评论回复
13
myxiaonia| | 2015-4-15 08:36 | 只看该作者
yang4469 发表于 2014-10-22 10:44
程序里面在usb_conf.h文件里面 F1和F4不一样的,F4是可以otg的

我用的是f105
st买的几个ip,程序基本能通用,我用过usb和emac,不知道can是不是也能通用(手册没有说can也是买的ip)
发现emac的程序,107的基本无缝用到207的,我估计407也不会有啥问题
所以从此推论,我估计105的usb程序照样可用在f2和f4

使用特权

评论回复
14
yang4469| | 2015-5-4 11:16 | 只看该作者
myxiaonia 发表于 2015-4-15 08:36
我用的是f105
st买的几个ip,程序基本能通用,我用过usb和emac,不知道can是不是也能通用(手册没有说can ...

otg的这几款芯片的例子大同小异,放在一个工程里面的,define不同而已。我之前做过F2到F4的,没什么问题,没用过105

使用特权

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

本版积分规则

14

主题

233

帖子

2

粉丝