基于stm32的mcu和pc的usb通讯技术
出处:维库电子市场网 发布于:2017-07-05 12:15:35
就通信方式讨论:(以下不论ARM核\嵌入式\低端\高端均称为)
单片机间通信可用UART或SPI通信,UART适合速率不高,为了兼容低端单片机的场合。SPI比较通用,而且速率可高至单片机时钟的1/4(但单片机IO速率低的要注意不能超过单片机IO速率)。高端单片机,如STM32F103系列,带有DMA,可减轻负担。
单片机与PC通信,一般用串口或USB。串口或用MAX232与PC串口相连,或用USB转UART芯片(PL2302等)桥接。USB口需单片机带USB接口模块,或USB桥接芯片,或用软件模拟(仅业余使用,商品或工业使用不推荐)。
就USB接口讨论:
单片机所带USB接口多为device接口,很少有host接口。单片机与PC相连,单片机一般做device角色。
STM32部分型号带有USB接口。USB接口使用一般是先配置USB属性,诸如设备类别,VID(供应商ID(特别说明,需要向usb协会申请购买)) PID(产品识别码),显示名称,供电属性等等信息。
配置好的USB,方可被计算机识别。
USB通信一般只能由PC向USB设备发起,有命令,批量读取,批量写入等操作。一般情形是通过命令进行简单的控制或确定写入或读取地址,然后通过批量读写传输数据。
一般USB设备开发,都需要编写上位机驱动。除非做成 USB HID 类协议,因为操作系统一般是带有HID驱动的,但缺点很明显,HID协议较复杂,且传输速率低。
上位机也要经过枚举设备,选择设备,打开设备等等一系列复杂操作。
区别:单片机间通信一般需自定协议,相对自由;单片机与上位机通信一般依靠现有协议,然后自定需要的功能协议。
单片机间通信机动性高,可利用中断等特性,非恶劣环境一般不需复杂控制可保证正常工作。
与上位机通信,一般受上位机等复杂环境影响,需考虑的方面比较多。
写到这才想起来。。楼主说的单片机间通信是近距离通信还是远距离通信?。。。我按照在同一设备内考虑的。若是较远距离,一般速率做不高,依靠485协议,或CAN协议等,甚至有的直接将通信放到局域网环境上。未见单片机间通过USB协议通信的,因为USB OTG实现很复杂。
上一篇:单片机的串口通讯源代码
下一篇:怎样快速认识一款新型的mcu
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,//domainnameq.cn,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- C51 单片机助力:汽车座椅自动控制系统软硬件创新设计2025/7/3 16:18:25
- 专业解析:单片机 BootLoader 的发展进化全记录2025/6/18 14:49:38
- 43 问全解:单片机晶振常见问题深度剖析2025/6/9 16:04:35
- 一文全面读懂单片机的存储器2025/6/3 16:22:16
- 单片机串口接收的几种常用的数据处理方法2025/5/23 16:26:54