OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13650|回复: 18

STM32F407 USB(D+ D- 引脚)和外部进行通讯

[复制链接]

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-9-22
在线时间
19 小时
发表于 2018-1-2 13:22:19 | 显示全部楼层 |阅读模式
2金钱
STM32F407 USB(D+ D- 引脚)和外部进行通讯 查找正点原子官方程序,始终没有找到发送接收函数 求大神指点迷津,
主要是因为串口资源有限,不得不利用usb接口中D- D+引脚进行和外部通讯,实现接收发送的功能,望大神指路

最佳答案

查看完整内容[请看2#楼]

你首先要确定4G模块的USB从设备形式,你STM32主机模式需要匹配成一样 很多主机例程的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

207

帖子

0

精华

高级会员

Rank: 4

积分
959
金钱
959
注册时间
2017-5-27
在线时间
108 小时
发表于 2018-1-2 13:22:20 | 显示全部楼层
娄靖源 发表于 2018-1-3 09:32
这个倒不知道,我现在想通过这两个引脚实现收发的效果,还要映射成usb模式,就是接收发送不知道怎么实现 ...

你首先要确定4G模块的USB从设备形式,你STM32主机模式需要匹配成一样
很多主机例程的
回复

使用道具 举报

0

主题

207

帖子

0

精华

高级会员

Rank: 4

积分
959
金钱
959
注册时间
2017-5-27
在线时间
108 小时
发表于 2018-1-2 14:40:08 | 显示全部楼层
1:和PC等上位机通讯,请实现HID或者CDC功能
2:如果是和STM等arm芯片通讯,则请实现GPIO口模拟串口
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-9-22
在线时间
19 小时
 楼主| 发表于 2018-1-2 15:06:08 | 显示全部楼层
本帖最后由 娄靖源 于 2018-1-2 15:17 编辑
lanlzp 发表于 2018-1-2 14:40
1:和PC等上位机通讯,请实现HID或者CDC功能
2:如果是和STM等arm芯片通讯,则请实现GPIO口模拟串口

2  GPIO引脚只能复用USB(D+ D-),具体我也不太清楚,用D+ D-和4G模块之间的通讯,好像是电压配置不需要转换,
1 我查了好多说的是HID,还有一个虚拟成串口(这个没有看太明白)
回复

使用道具 举报

0

主题

207

帖子

0

精华

高级会员

Rank: 4

积分
959
金钱
959
注册时间
2017-5-27
在线时间
108 小时
发表于 2018-1-2 16:33:51 | 显示全部楼层
娄靖源 发表于 2018-1-2 15:06
2  GPIO引脚只能复用USB(D+ D-),具体我也不太清楚,用D+ D-和4G模块之间的通讯,好像是电压配置不需要转 ...

首先弄明白硬件连接
是用USB设备通讯,还是用TTL串口通讯
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-9-22
在线时间
19 小时
 楼主| 发表于 2018-1-2 16:40:06 | 显示全部楼层
本帖最后由 娄靖源 于 2018-1-2 16:42 编辑
lanlzp 发表于 2018-1-2 16:33
首先弄明白硬件连接
是用USB设备通讯,还是用TTL串口通讯

USB设备通讯,就是利用PB14 PB15(D+ D-)引脚直接与外部设备进行通讯,不经过任何转换,直接与设备进行双向通讯,在看官方提供的usb host鼠标键盘提供的程序,看看能不能解决这个问题,STM32F407这边要配置成主机模式,对设备数据进行收发解析
回复

使用道具 举报

0

主题

207

帖子

0

精华

高级会员

Rank: 4

积分
959
金钱
959
注册时间
2017-5-27
在线时间
108 小时
发表于 2018-1-2 16:42:23 | 显示全部楼层
外部设备指代什么???????
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-9-22
在线时间
19 小时
 楼主| 发表于 2018-1-2 16:43:31 | 显示全部楼层
本帖最后由 娄靖源 于 2018-1-2 16:46 编辑
lanlzp 发表于 2018-1-2 16:42
外部设备指代什么???????

外设是4G模块,用PB14 PB15与该模块进行通讯,第一次做这一块,不是很明白,
回复

使用道具 举报

0

主题

207

帖子

0

精华

高级会员

Rank: 4

积分
959
金钱
959
注册时间
2017-5-27
在线时间
108 小时
发表于 2018-1-2 16:46:46 | 显示全部楼层
4G模块通讯方式是什么????串口吧,你折腾USB鼠标有什么用?
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-9-22
在线时间
19 小时
 楼主| 发表于 2018-1-2 17:22:26 | 显示全部楼层
lanlzp 发表于 2018-1-2 16:46
4G模块通讯方式是什么????串口吧,你折腾USB鼠标有什么用?

4G模块支持串口通讯协议,也支持usb通讯协议,硬件那边让我试试usb通讯,这样就不用usb转串口的芯片了,可以节约成本,串口通讯的话,不是应该看usb鼠标host模式吗?非常感谢你的解答,刚才去找硬件确认了下,
回复

使用道具 举报

0

主题

207

帖子

0

精华

高级会员

Rank: 4

积分
959
金钱
959
注册时间
2017-5-27
在线时间
108 小时
发表于 2018-1-2 18:04:42 | 显示全部楼层
娄靖源 发表于 2018-1-2 17:22
4G模块支持串口通讯协议,也支持usb通讯协议,硬件那边让我试试usb通讯,这样就不用usb转串口的芯片了, ...

那你的4G模块,是个什么USB类型? HID还是CDC?你可以看看STM32的HOST主机模式
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2018-1-3 01:08:31 | 显示全部楼层
4G USB通信,比较难搞吧。
建议先用串口,串口和STM32通信,也不需要转换芯片吧,都是TTL电平吧?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-9-22
在线时间
19 小时
 楼主| 发表于 2018-1-3 08:33:24 | 显示全部楼层
本帖最后由 娄靖源 于 2018-1-3 09:06 编辑
正点原子 发表于 2018-1-3 01:08
4G USB通信,比较难搞吧。
建议先用串口,串口和STM32通信,也不需要转换芯片吧,都是TTL电平吧?

应该是这样的,图片是4G模块uart电压识别范围,32 的TTL电平好像不太可以,usb的话,就可以啦
QQ截图20180103085738.png
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-9-22
在线时间
19 小时
 楼主| 发表于 2018-1-3 09:32:00 | 显示全部楼层
lanlzp 发表于 2018-1-2 18:04
那你的4G模块,是个什么USB类型? HID还是CDC?你可以看看STM32的HOST主机模式

这个倒不知道,我现在想通过这两个引脚实现收发的效果,还要映射成usb模式,就是接收发送不知道怎么实现,这个肯定是要实现成host主机模式,非常感谢你的回答,现在找不到切入口实现,也没有现成的测试用例可以测试
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-9-22
在线时间
19 小时
 楼主| 发表于 2018-1-6 13:50:53 | 显示全部楼层
最后的最后还是改成串口进行发送数据,绕开了这个问题,谢谢大神们的解答,有需要源码的可以私信我,407与4G模块的通讯
回复

使用道具 举报

102

主题

318

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1876
金钱
1876
注册时间
2011-12-21
在线时间
545 小时
发表于 2018-1-11 15:34:22 | 显示全部楼层
娄靖源 发表于 2018-1-2 16:43
外设是4G模块,用PB14 PB15与该模块进行通讯,第一次做这一块,不是很明白,

据我所知,4G模块如果USB通信 的话需要支持4G模块的USB通信协议,这个通信协议 要linux或者Windows才有。裸机跑的话只能用串口
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-9-22
在线时间
19 小时
 楼主| 发表于 2018-1-19 16:51:03 | 显示全部楼层
玻璃之城2046 发表于 2018-1-11 15:34
据我所知,4G模块如果USB通信 的话需要支持4G模块的USB通信协议,这个通信协议 要linux或者Windows才有。 ...

是的,是的,给他们技术打电话,也是这样解决的
回复

使用道具 举报

37

主题

148

帖子

0

精华

高级会员

Rank: 4

积分
967
金钱
967
注册时间
2017-1-4
在线时间
431 小时
发表于 2020-2-27 15:29:32 | 显示全部楼层
娄靖源 发表于 2018-1-19 16:51
是的,是的,给他们技术打电话,也是这样解决的

stm32F4系列有  高速 HS 系列 DM   DP  和低速 FS  DM   DP
那个都行吗
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2020-5-11
在线时间
13 小时
发表于 2020-5-27 13:12:18 | 显示全部楼层
你好,请问可以发一下你stm32和4g通讯的源程序吗?谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-1 17:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表