社区导航

 

搜索
查看: 707|回复: 13

[求助] 请问stm32f407可以做到usb主机接收串口数据吗?

[复制链接]

5

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2020-3-8 10:20 | 显示全部楼层 |阅读模式

     网友们,现在我有一个gps设备,他是通过直接usb接口输出数据,我直接拿一根usb数据线,连接到我的电脑上通过串口调试助手就可以看到对应的gps数据。

    我现在的想法是,直接使用f4的usb接口去接收gps数据,请问可行吗?

此帖出自stm32/stm8论坛

回复

使用道具 举报

7271

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-3-8 10:29 | 显示全部楼层

好像需要在STM32上写你的GPS驱动,可能会很麻烦。

虾扯蛋

回复

使用道具 举报

5

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2020-3-8 10:33 | 显示全部楼层
littleshrimp 发表于 2020-3-8 10:29 好像需要在STM32上写你的GPS驱动,可能会很麻烦。

那个gps里面本来是串口输出的,结果厂商为了方面使用,整了usb接口上去,您所说的驱动,是不是那个ttl-usb驱动在单片机上实现。

点评

你看一下他那个模块是直接使用内部单片机的USB,还是在原有的基础上通过一个USB转串口芯片,例如CH340这样的东西,如果是后者,你可以在网上找一下类似STM32通过USB HOST连接CH340的资料。  详情 回复 发表于 2020-3-8 10:37

回复

使用道具 举报

7271

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-3-8 10:36 | 显示全部楼层

这里有一个USB主机控制虚拟串口的例程,你可以了解下

STM32Cube_FW_F4_V1.24.2\Projects\STM324x9I_EVAL\Applications\USB_Host\CDC_Standalone

 

CDC_Standalone.rar (104.49 KB, 下载次数: 12)

虾扯蛋

回复

使用道具 举报

7271

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-3-8 10:37 | 显示全部楼层
cqut面码 发表于 2020-3-8 10:33 那个gps里面本来是串口输出的,结果厂商为了方面使用,整了usb接口上去,您所说的驱动,是不是那个ttl-us ...

你看一下他那个模块是直接使用内部单片机的USB,还是在原有的基础上通过一个USB转串口芯片,例如CH340这样的东西,如果是后者,你可以在网上找一下类似STM32通过USB HOST连接CH340的资料。

虾扯蛋

回复

使用道具 举报

5

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2020-3-8 14:32 | 显示全部楼层
littleshrimp 发表于 2020-3-8 10:37 你看一下他那个模块是直接使用内部单片机的USB,还是在原有的基础上通过一个USB转串口芯片,例如CH340这 ...

好的,谢谢你提供的思路。我去尝试一下


回复

使用道具 举报

1万

TA的帖子

143

TA的资源

版主

Rank: 6Rank: 6

技术导师勋章

发表于 2020-3-8 20:11 | 显示全部楼层

一般说的“串口”指RS232串口,不是USB,串口调试助手就是基于这样的串口而非USB。串口线两头都是9针或25针的D型口,串口调试助手支持的“USB串口线”与此不同,内带USB串口桥芯片,用这样的“USB串口线”接的GPS模块本身就是串口的,只需确认电平规格是RS232还是TTL,然后与MCU的串口通讯即可。

USB接口的GPS设备也有,即插即用的,操作系统可以自动识别设备类型,而串口助手并不能与之通讯。如果是这样的USB设备,需要MCU具有USB host接口,且需要自己编写驱动程序或使用支持的操作系统。

 

上传了一些书籍资料,也许有你想要的:http://download.eeworld.com.cn/user/chunyang

回复

使用道具 举报

5

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2020-3-9 20:09 | 显示全部楼层
chunyang 发表于 2020-3-8 20:11 一般说的“串口”指RS232串口,不是USB,串口调试助手就是基于这样的串口而非USB。串口线两头都 ...

感谢大佬的回复,我看到内部是使用了一个ch340进行ttl转usb。意思就是我,单片机上如果有usb host的话,那么我就需要去自己编写ch340的驱动来进行读写吗

点评

如果你非要在USB Host上用CH340生成虚拟串口,当然需要驱动,自己写或找到现成的驱动都可以。但MCU明明有原生串口,用串口简单得多,成本也更低,干嘛非跟USB过不去?  详情 回复 发表于 2020-3-9 20:19

回复

使用道具 举报

1万

TA的帖子

143

TA的资源

版主

Rank: 6Rank: 6

技术导师勋章

发表于 2020-3-9 20:19 | 显示全部楼层
cqut面码 发表于 2020-3-9 20:09 感谢大佬的回复,我看到内部是使用了一个ch340进行ttl转usb。意思就是我,单片机上如果有usb host的话, ...

如果你非要在USB Host上用CH340生成虚拟串口,当然需要驱动,自己写或找到现成的驱动都可以。但MCU明明有原生串口,用串口简单得多,成本也更低,干嘛非跟USB过不去?

点评

lz可能低估了usb编程的麻烦程度  详情 回复 发表于 2020-3-11 20:57
上传了一些书籍资料,也许有你想要的:http://download.eeworld.com.cn/user/chunyang

回复

使用道具 举报

3601

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-3-10 21:26 | 显示全部楼层

U口麻烦的是设备驱动,描述表什么什么的你得自己处理,f4是可以做usb主机的.

点评

可否搞硬件替代的方案, gps设备(usb)+ F407板子(usb母口); 在板上做一个usb母口转串口模块,并解决好供电,如何  详情 回复 发表于 2020-3-11 20:57

回复

使用道具 举报

412

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2020-3-11 20:57 | 显示全部楼层
huo_hu 发表于 2020-3-10 21:26 U口麻烦的是设备驱动,描述表什么什么的你得自己处理,f4是可以做usb主机的.

可否搞硬件替代的方案,

gps设备(usb)+ F407板子(usb母口);

在板上做一个usb母口转串口模块,并解决好供电,如何


回复

使用道具 举报

412

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2020-3-11 20:57 | 显示全部楼层
chunyang 发表于 2020-3-9 20:19 如果你非要在USB Host上用CH340生成虚拟串口,当然需要驱动,自己写或找到现成的驱动都可以。但MCU明明有 ...

lz可能低估了usb编程的麻烦程度


回复

使用道具 举报

3601

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-3-14 02:06 | 显示全部楼层

"我直接拿一根usb数据线,连接到我的电脑上通过串口调试助手就可以看到对应的gps数据。"

你先看看电脑端是什么样的usb设备,没安装驱动的话极有可能就是个串口,那就好办了


回复

使用道具 举报

15

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2020-5-17 16:27 | 显示全部楼层

楼主搞掂了吗?工程可以给我学习一下吗?非常感谢!


回复

使用道具 举报

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

关闭

站长推荐上一条 1/6 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-1 08:51 , Processed in 0.413153 second(s), 33 queries , Gzip On, MemCache On.

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