打印
[STM32F4]

STM32F4Cube库CDC类试用手记(含USB全速/高速和VC测试程序)

[复制链接]
楼主: 碧云天书
手机看帖
扫描二维码
随时随地手机跟帖
181
官网代码与HAL代码,关于初始化部分代码,基本流程一样,不多多了2个设置中断优先级的代码。
NVIC_SetPriority (SysTick_IRQn, 0);  为了提高systick中断的优先级
HAL_PCD_MspInit(hpcd)函数里
HAL_NVIC_SetPriority(OTG_HS_IRQn, 6, 0);设置USBHS中断最低优先级

在 HAL_PCD_MspInit 函数里,并未涉及对reset pin 进行初始化。

函数 HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) 里, 进行了USB核的复位操作
USB_CoreReset(USBx),其内部操作与官网代码对应部分是一致的。

使用特权

评论回复
182
zhuotuzi| | 2015-10-29 21:32 | 只看该作者
还是自己写的代码最好用了。

使用特权

评论回复
183
foxglove| | 2015-10-30 01:07 | 只看该作者
STM32F4Cube库CDC类

使用特权

评论回复
184
nono36| | 2015-10-30 09:43 | 只看该作者
楼主,我刚学习usb想参考你的例程,但是没有找到STM32Cube_FW_F4_V1.3.0,可否分享一份呢

使用特权

评论回复
185
zhuotuzi| | 2015-10-30 10:20 | 只看该作者
全速下OUT速度约为950KB/s,IN速度约为820KB/s。高速下OUT速度约29MB/s,IN速度约16MB/s。

使用特权

评论回复
186
hanyafeng| | 2015-10-30 13:41 | 只看该作者
楼上的哥们,方便把你自己写的代码发给我一部分吗?我只需要初始化一部分,谢谢。我的qq是50453004,邮箱也是这个,50453004@qq.com。我要做的应用必须是HS,没有第二个选择。

使用特权

评论回复
187
lkl0305| | 2015-10-30 14:06 | 只看该作者
学习了

使用特权

评论回复
188
hanyafeng| | 2015-10-30 17:15 | 只看该作者
自己根据cdc和官网代码流程和操作意图,自己直接对寄存器操作,仿真调试状态看寄存器数值。在进行USB Core 软复位时,还是遇到仿真器死机情况。
mdk 汇报:发现了 read protect 什么的,意思就是没法再继续跟踪下去了,然后就死机了。

根据CSRST位解释,Resets  the HCLK and PCLK domain as following: Clear the interrupts and all CSR register bits ,补充到一些bit是例外。

换句话讲,是不是意味着 USB HS 就是不能仿真器跟踪代码运行?有谁像我这么做了,也可以跟踪下去,请告诉我一声。谢谢。

使用特权

评论回复
189
crazyjack| | 2015-11-2 13:42 | 只看该作者

使用特权

评论回复
190
xye_yt| | 2015-11-2 16:49 | 只看该作者
碧云天书 发表于 2014-10-9 10:07
USB CDC库的改造和使用

为了方便使用,对HAL库的USB设备库例子进行了改造,只保留最核心的USB接收和发送功 ...

好文共赏。

使用特权

评论回复
191
595004525| | 2015-11-4 15:19 | 只看该作者
本帖最后由 595004525 于 2015-11-4 15:20 编辑

对USB不熟悉,移植到F427xx的时候,通过虚拟串口可以把数据打印到串口调试助手。但是串口调试助手下发给F427xx,代码把收到的数据上传到串口调试助手。结果回传的数据不正确。
不知道大家有没有遇到这样的问题。

QQ截图20151104152031.png (33.46 KB )

QQ截图20151104152031.png

使用特权

评论回复
192
碧云天书|  楼主 | 2015-11-6 00:55 | 只看该作者
nono36 发表于 2015-10-30 09:43
楼主,我刚学习usb想参考你的例程,但是没有找到STM32Cube_FW_F4_V1.3.0,可否分享一份呢 ...

我已经更新了1楼的附件,里面带了STM32CubeF4 v1.8.0,可以直接编译烧录使用。

使用特权

评论回复
评论
zhk851830097 2019-3-20 13:39 回复TA
怪不得 我这么顺利 
193
碧云天书|  楼主 | 2015-11-6 01:01 | 只看该作者
hanyafeng 发表于 2015-10-30 17:15
自己根据cdc和官网代码流程和操作意图,自己直接对寄存器操作,仿真调试状态看寄存器数值。在进行USB Core  ...

  你好像在HAL库里迷路了。STM32F4的HS USB是完全事件驱动的IP,初始化完成以后,所有的动作都是从中断启动的。所以你应该把中断发生以后的事情理出来。我当初也是这样的,累!
  我更新的1楼的附件,你刷进你的板子试试,看能不能运行。
  因为你没有把完整的代码贴出来,你的问题别人很难回答。可能是你贴出的代码有问题,也可能是你没贴出的代码有问题。

使用特权

评论回复
194
mei326| | 2015-11-6 12:17 | 只看该作者
mark

使用特权

评论回复
195
hpdell| | 2015-11-8 13:41 | 只看该作者
这般功夫如何练就啊

使用特权

评论回复
196
黑曼巴| | 2015-11-18 14:30 | 只看该作者
碧云天书 发表于 2014-10-9 22:46
你是对的,常走夜路,总是要湿鞋的。常用USB,总是得看协议的。
我一直希望我们的计算机是这样的:我说要 ...

说的很好,谢谢楼主,正需要USB传数据,但是不需要其它的功能,看到楼主的帖子,感觉很不错!

使用特权

评论回复
197
exson_2006| | 2015-11-18 14:43 | 只看该作者
感谢分享

使用特权

评论回复
198
白雪琴| | 2015-12-9 16:14 | 只看该作者
用楼主的程序一直有感叹号,然后自己用cube生成一个,加大Heap_Size之后就好了:L

使用特权

评论回复
199
碧云天书|  楼主 | 2015-12-19 12:13 | 只看该作者
本帖最后由 碧云天书 于 2015-12-19 12:18 编辑
白雪琴 发表于 2015-12-9 16:14
用楼主的程序一直有感叹号,然后自己用cube生成一个,加大Heap_Size之后就好了 ...

程序包中的Heap_size已经加大过了。你确定你的项目指定的startup_stm32f407xx.s是1楼程序包里的文件吗?是否不慎指向了HAL库默认的文件?
为了避免各位朋友在使用这个程序的时侯遇到路径错误、文件错误之类的麻烦,1楼的程序包已经更新了,将需要用到的HAL库文件都放进压缩包中。解压就可以直接用,无需再放到特殊路径下。

使用特权

评论回复
200
mohaiyou| | 2015-12-19 20:06 | 只看该作者
您好,请问虚拟串口的部分是怎么设置的呢?
我现在用Eval 板+USB3300连到电脑上,设备管理器-通用串行总线控制器中出现一个Unknown device,在端口中没有Vitual COM Port识别。虚拟串口的电脑端驱动stm32_vcp_v1.3.1.zip我已经安好,请问那个虚拟串口是只要把USB一插上就会自动识别,还是需要额外的什么软件设置一下?

使用特权

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

本版积分规则