xyn1 发表于 2023-4-24 16:19:32

请大佬聊聊windows 串口驱动,接口,发展历史之类的

初学单片机,经常遇到不能通信,驱动装不上等问题,现在都是usb虚拟的串口,更是稀里糊涂,遇到问题一顿乱搜,问题解决了,也不知道是怎么回事,
能不能请大佬给推荐一些文章或者书之类的,末学绝不是伸手党,中文搜索没有讲这些的,也许串口太古老了,单片机那部分串口通信是挺简单的,主从机设置好波特率,就可以了
底层尤其是windows这块,是怎么处理的,有哪些协议,芯片?不是太懂,请坛内大佬给指点一下

tim 发表于 2023-4-24 16:57:29

楼主要写 windows 驱动?

xyn1 发表于 2023-4-24 17:01:22

tim 发表于 2023-4-24 16:57
楼主要写 windows 驱动?
(引用自2楼)

不是的 坛友,想了解一下串口在windows底层如何工作的,经常遇到串口问题

albert_w 发表于 2023-4-24 17:18:18

lz你经常找的饭店不好吃为啥要研究厨子咋做菜的呢.

虚拟串口不是把驱动安装了就可以了么. RTS/CTS硬件流控? 一般都关掉了,毕竟通常才三条线

t3486784401 发表于 2023-4-24 18:44:40

假定 LZ 知道一些 Windows 编程的技巧,我就大致说一下。

Windows 这边的“串口设备”是抽象成“硬盘文件”一样的东西,理论上访问串口和访问文件套路一样,每个串口有独立的“文件名”:
CreateFile / CloseHandle 用来打开/关闭串口,一个串口只能由一个进程独占打开。
WriteFile / ReadFile 用来发送/接收数据,后台都是异步的,Write 写进缓冲区(硬件慢慢发),Read 读出已接收的。

不管是硬件串口(DB9),还是 USB 转的串口,亦或是是蓝牙网络什么鬼转成的串口,甚至是虚拟的串口,
都满足上述“文件接口”,因而只要装好驱动,设备管理器里有 COMx,在编程上都是上述“文件方式”。

xyn1 发表于 2023-4-24 18:50:28

t3486784401 发表于 2023-4-24 18:44
假定 LZ 知道一些 Windows 编程的技巧,我就大致说一下。

Windows 这边的“串口设备”是抽象成“硬盘文件 ...
(引用自5楼)

感谢坛友回复,太有用了,早几年写过简单的c#,读写本地文件,打印个标签这些简单的,您说的这些能看懂,受益匪浅
能不能麻烦您,给推这方面文章或者书,我自己去看,

xyn1 发表于 2023-4-24 18:55:56

albert_w 发表于 2023-4-24 17:18
lz你经常找的饭店不好吃为啥要研究厨子咋做菜的呢.

虚拟串口不是把驱动安装了就可以了么. RTS/CTS硬件流控 ...
(引用自4楼)

坛友说的也有道理,但有时候遇到问题不好搞,图片上这个黄色感叹号,今天折腾半天没搞定,

1a2b3c 发表于 2023-4-24 20:51:46

xyn1 发表于 2023-4-24 18:55
坛友说的也有道理,但有时候遇到问题不好搞,图片上这个黄色感叹号,今天折腾半天没搞定,
...
(引用自7楼)

你这是不会装硬件驱动,和是不是usb,是不是串口没有半点关系
多半是习惯了操作系统把所有的电脑外的设备驱动都集成了,所以现在人都不知道啥叫驱动了,更不知道该怎么自己去安装
我倒是觉得去装台空白电脑的操作系统更合适你,其间会出现多次发现新硬件,然后安装驱动,等等

t3486784401 发表于 2023-4-24 20:58:12

xyn1 发表于 2023-4-24 18:50
感谢坛友回复,太有用了,早几年写过简单的c#,读写本地文件,打印个标签这些简单的,您说的这些能看懂, ...
(引用自6楼)

随便一本讲 win 环境下串口通信的书,都会用到这几个 API.

其中 ReadFile 由于是外部事件驱动,不是主动调用就能有数据的,一般是多线程读取+处理。
页: [1]
查看完整版本: 请大佬聊聊windows 串口驱动,接口,发展历史之类的