STM32CubeMX在Code Generation中无法创建工程文件

问题困惑蓝色波涛 回复了问题 • 5 人关注 • 5 个回复 • 1434 次浏览 • 1 天前 • 来自相关话题

STM32编码器中断与编码器读数不一致

问题困惑一粒尘a_a 回复了问题 • 2 人关注 • 1 个回复 • 66 次浏览 • 4 天前 • 来自相关话题

(转)USB复合设备和USB组合设备的区别和实现代码分析

其他分享洋沙 回复了问题 • 11 人关注 • 5 个回复 • 5067 次浏览 • 4 天前 • 来自相关话题

关于读取mpu9250问题

问题困惑。.. 回复了问题 • 3 人关注 • 3 个回复 • 2103 次浏览 • 5 天前 • 来自相关话题

stm32f103使用HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON,PWR_SLEEPENTRY_WFI)无法进入休眠状态是为什么

回复

问题困惑拉拉拉 发起了问题 • 1 人关注 • 0 个回复 • 39 次浏览 • 5 天前 • 来自相关话题

高速中断与USB device无法共存

问题困惑寻觅左岸 回复了问题 • 2 人关注 • 1 个回复 • 36 次浏览 • 5 天前 • 来自相关话题

cubemx配置以太网ping不通(STM32F407VG+DP83848)

问题困惑#輕風雨# 回复了问题 • 15 人关注 • 14 个回复 • 5076 次浏览 • 2018-09-12 11:49 • 来自相关话题

STM32F103ZET(基于秉火开发板)+Cubemx(F1 V1.60库)+RTC(修复官方例程日期不更新bug)

经验分享HaoYou 回复了问题 • 10 人关注 • 6 个回复 • 1962 次浏览 • 2018-09-11 00:04 • 来自相关话题

用STM32CubeMX 者.26.1生成代码后SRC文件夹不见了

问题困惑ziyan0005 回复了问题 • 3 人关注 • 2 个回复 • 185 次浏览 • 2018-09-10 19:31 • 来自相关话题

hal库uc1701液晶LCD12864驱动程序移植

软件教程广州贺工 回复了问题 • 7 人关注 • 8 个回复 • 4150 次浏览 • 2018-09-10 12:37 • 来自相关话题

042CAN STM32cube配置无法进中断回调函数

问题困惑忍者001 回复了问题 • 6 人关注 • 5 个回复 • 944 次浏览 • 2018-09-08 19:15 • 来自相关话题

HAL库串口发送问题,死在UART_WaitOnFlagUntilTimeout中

问题困惑乌龟也会飞 回复了问题 • 3 人关注 • 2 个回复 • 722 次浏览 • 2018-09-07 15:23 • 来自相关话题

有谁实现过CUBAMX配置USB实现bulk数据通信啊 求教能给个例程吗

回复

问题困惑乌龟也会飞 回复了问题 • 1 人关注 • 1 个回复 • 74 次浏览 • 2018-09-07 15:04 • 来自相关话题

CubeMX配置stm32 F103RCT6实现USB bulk传输

软件教程乌龟也会飞 发表了文章 • 2 个评论 • 198 次浏览 • 2018-09-07 14:47 • 来自相关话题

友情提示请全屏查看(By荒野大嫖客)ST官方虽然提供很多关于USB固件库集成的(像什么VCP HID等等),但是吧在我们实际的项目开发中VCP(虚拟串口基本不用吧)另外官方提供的驱动程序都是ST厂商标志的,这对于我们来说给客户产品的时候驱动商标是别人公司好像挺不好的,故此鉴于项目的实际开发所需我们一般都是实现一个自定义的USB协议而非什么VCP 大容量的U盘之类的来通信(当然有这个需要的除外).于是就想ST把USB底层的协议都已经搞定了那么修修改改就应该能实现我所需要的了,在这过程中由于对USB协议不必熟悉弄起来不容易,其余的论坛上下载动不动就是要金币或者去买他的开发板才给你源码,或者动不动就是什么VCP来冒充根本就不是我所需要的 本文为cubeMX实现bulk批量传输,实现过程借鉴了网上最小量修改实现HID双向通信http://www.stm32cube.com/article/138 在此致谢Digital_Chip 由于HID的通信速率相对来说不是很高,如果要进行大数据量高速度传输就有可能不太满足条件,故此使用bulk传输是一个不错的选择,好了废话就说这么多了,我把过程发出来一是作为自己弄这个的一个总结将来需要时自己好看一下,二是给其余所需要的人提供点思路,完全免费的啊,不想他们动不动就是你买我开发板我给你源码 (火大)   荒野大嫖客太穷了(呜呜)历时两天才搞定,资质较差如果看官觉得有用给个赞吧一 条件cubeMX4.26.1 MDK5 F1的固件库 芯片stm32F103RCT6(F1系列根据自己的板子来选,我手边没有F4的固定可能有些函数不一样,不过也可以作为一种参考来实现F4)1,开启外部晶振 开启debug功能(我是SWD,如果板载是SWD接口不开启此功能的话第二次下载程序就会下载不进去 需要在复位状态下下载)  开启USB外设 在中间件上选择CDC(虚拟串口,需要用它来改)二:配置系统时钟72MHz(根据自己需要) USB为48MHz(必须)三:更改USB的中间件(可以不更改 自己做实验的话) 如果项目的话更改(比如PID VID更改为自己公司的去掉ST公司的字符串等)我做如下更改1024纪念程序员 鲁班大师(我的最爱,虽然比较坑都一年多了还在钻石 呜呜)四:初始化生成代码五:修改描述符 将usbd_des.c中的USBD_FS_DeviceDesc[USB_LEN_DEV_DESC]数组修改为如下六修改配置描述符 接口描述符等七:将下面的__ALIGN_BEGIN uint8_t USBD_CDC_CfgFSDesc[USB_CDC_CONFIG_DESC_SIZ] 和__ALIGN_BEGIN uint8_t USBD_CDC_OtherSpeedCfgDesc[USB_CDC_CONFIG_DESC_SIZ] 数组中的内容修改成和上面的一样就不贴图了八将USB_CDC_CONFIG_DESC_SIZ   修改为32九:定义两个变量 用于缓存数据 (全局的啊,其他.c文件可以访问的 我放在main.c中定义的 申明在头文件 其余所使用的地方包含该头文件) 并修改USBD_CDC_Init入下第二张图片十 :修改USBD_CDC_DataOut如下十一:在main.c的头文件中加载如下头文件 并修改main.c中的while(1)循环如下实现bulk通信回环好到此所有的bulk更改部分已经完成了,下面是见证奇迹的石头,编译程序下载程序不贴图了(由于我之前就做成功了,PID 和VID就是1024所以下完程序后插上USB就自动加载驱动了为了更好的展示效果我将本次的工程的PID和VID更改为如下,展示目前不能加载驱动)下载程序后重新插上USB在电脑的设备管理器中看到了我们的鲁班大师 智商250标志但是是黄色的因为没有驱动嘛右键属性看PID和VID是我们后设置的 可以使用电脑的计算机程序员模式转换至此USB bulk传输过程设备已经完成了验证,下面为试验可以进行通信我是用的是VISA来做驱动的打开NI_VISA Driver Wizard 进入如下界面选择USB 电机next 选中我们的设备 ranh然后一路狂点next知道finish最后驱动制作完成然后重新打开设备管理器查看我们的设备 驱动加载正常 没有了黄色图标以上为驱动制作加载完成,这只是证明了能够识别了,但是能不能通信呢请看下面 还是VISA 目前制作简单测试啊没有写专门的上位机 打开VISA Interactive ctrol 双击我们的设备双击后进入以下界面 可以看到我们设备的一些信息选择input/output界面在发送兰中写入要发送的数据,随便发目前只做了回环没有定义什么命令之类的发送什么,那么就应该回什么点击write变成如下情况点击Read后变成了如下界面通过以上两张图片对比发现我们实现了回环测试发送什么就接受到什么 以上证明了我们的设计是符合要求的,用于项目的话还需要进行相关的数据进行协议组织,同时增加方式提高传输速度等                                                                    以上整理提供by荒野大嫖客     如果有幸你读到这篇文章给个赞吧 查看全部

友情提示请全屏查看(By荒野大嫖客)

ST官方虽然提供很多关于USB固件库集成的(像什么VCP HID等等),但是吧在我们实际的项目开发中VCP(虚拟串口基本不用吧)另外官方提供的驱动程序都是ST厂商标志的,这对于我们来说给客户产品的时候驱动商标是别人公司好像挺不好的,故此鉴于项目的实际开发所需我们一般都是实现一个自定义的USB协议而非什么VCP 大容量的U盘之类的来通信(当然有这个需要的除外).于是就想ST把USB底层的协议都已经搞定了那么修修改改就应该能实现我所需要的了,在这过程中由于对USB协议不必熟悉弄起来不容易,其余的论坛上下载动不动就是要金币或者去买他的开发板才给你源码,或者动不动就是什么VCP来冒充根本就不是我所需要的 本文为cubeMX实现bulk批量传输,实现过程借鉴了网上最小量修改实现HID双向通信http://www.stm32cube.com/article/138 在此致谢Digital_Chip 

由于HID的通信速率相对来说不是很高,如果要进行大数据量高速度传输就有可能不太满足条件,故此使用bulk传输是一个不错的选择,好了废话就说这么多了,我把过程发出来一是作为自己弄这个的一个总结将来需要时自己好看一下,二是给其余所需要的人提供点思路,完全免费的啊,不想他们动不动就是你买我开发板我给你源码 (火大)   荒野大嫖客太穷了(呜呜)历时两天才搞定,资质较差如果看官觉得有用给个赞吧

一 条件cubeMX4.26.1 MDK5 F1的固件库 芯片stm32F103RCT6(F1系列根据自己的板子来选,我手边没有F4的固定可能有些函数不一样,不过也可以作为一种参考来实现F4)

1,开启外部晶振 开启debug功能(我是SWD,如果板载是SWD接口不开启此功能的话第二次下载程序就会下载不进去 需要在复位状态下下载)  开启USB外设 在中间件上选择CDC(虚拟串口,需要用它来改)

image.png

二:配置系统时钟72MHz(根据自己需要) USB为48MHz(必须)

image.png

三:更改USB的中间件(可以不更改 自己做实验的话) 如果项目的话更改(比如PID VID更改为自己公司的去掉ST公司的字符串等)我做如下更改1024纪念程序员 鲁班大师(我的最爱,虽然比较坑都一年多了还在钻石 呜呜)

image.png

四:初始化生成代码

image.png

五:修改描述符 将usbd_des.c中的USBD_FS_DeviceDesc[USB_LEN_DEV_DESC]数组修改为如下

image.png六修改配置描述符 接口描述符等
image.png

七:将下面的__ALIGN_BEGIN uint8_t USBD_CDC_CfgFSDesc[USB_CDC_CONFIG_DESC_SIZ] 和__ALIGN_BEGIN uint8_t USBD_CDC_OtherSpeedCfgDesc[USB_CDC_CONFIG_DESC_SIZ] 数组中的内容修改成和上面的一样就不贴图了

八将USB_CDC_CONFIG_DESC_SIZ   修改为32

image.png

九:定义两个变量 用于缓存数据 (全局的啊,其他.c文件可以访问的 我放在main.c中定义的 申明在头文件 其余所使用的地方包含该头文件) 并修改USBD_CDC_Init入下第二张图片


image.png

image.png



十 :修改USBD_CDC_DataOut如下

image.png


十一:在main.c的头文件中加载如下头文件 并修改main.c中的while(1)循环如下实现bulk通信回环

image.png

image.png

好到此所有的bulk更改部分已经完成了,下面是见证奇迹的石头,编译程序下载程序不贴图了(由于我之前就做成功了,PID 和VID就是1024所以下完程序后插上USB就自动加载驱动了为了更好的展示效果我将本次的工程的PID和VID更改为如下,展示目前不能加载驱动)

image.png


下载程序后重新插上USB在电脑的设备管理器中看到了我们的鲁班大师 智商250标志但是是黄色的因为没有驱动嘛

image.png

右键属性看PID和VID是我们后设置的 可以使用电脑的计算机程序员模式转换

image.png


至此USB bulk传输过程设备已经完成了验证,下面为试验可以进行通信我是用的是VISA来做驱动的

打开NI_VISA Driver Wizard 

image.png


进入如下界面


image.png


选择USB 电机next 

image.png

选中我们的设备 ranh然后一路狂点next知道finish最后驱动制作完成

然后重新打开设备管理器查看我们的设备 驱动加载正常 没有了黄色图标

image.png

image.png

以上为驱动制作加载完成,这只是证明了能够识别了,但是能不能通信呢请看下面 还是VISA 目前制作简单测试啊没有写专门的上位机 打开VISA Interactive ctrol 双击我们的设备

image.png

双击后进入以下界面 可以看到我们设备的一些信息

image.png

选择input/output界面

image.png

在发送兰中写入要发送的数据,随便发目前只做了回环没有定义什么命令之类的发送什么,那么就应该回什么

点击write变成如下情况

image.png

点击Read后变成了如下界面

image.png

通过以上两张图片对比发现我们实现了回环测试发送什么就接受到什么 以上证明了我们的设计是符合要求的,用于项目的话还需要进行相关的数据进行协议组织,同时增加方式提高传输速度等

                                                                    以上整理提供by荒野大嫖客     如果有幸你读到这篇文章给个赞吧



stm32cube有stm32h7的STemWIN配置选项吗?

回复

问题困惑1.sc 发起了问题 • 1 人关注 • 0 个回复 • 59 次浏览 • 2018-09-07 13:26 • 来自相关话题