VFP低级文件函数读写串口,com10出错?

2023-09-11 17:56:22 浏览数 (1)

vfp低级函数读写串口

代码语言:javascript复制
Declare Sleep In WIN32API Intege

hfile=fopen("com1")

fwrite(hfile,"123456")
sleep(100)  &&等100毫秒
fgets(hfile,100)   &&读取100字符

经猫猫测试,多线程下非常稳定,线程安全。但有两个不好的点:

1:无法设置波特率 默认1400

2: 如果端口无数据返回,会一直等待。

如果用fopen("com10")即会卡死,微软预定义的标准设备中含有“COM1”-“COM9”。所以,“COM1”-“COM9”作为文件名传递给函数时操作系统会自动地将之解析为相应的设备。但对于COM10及以上的串口,“COM10”之类的文件名系统只视之为一般意义上的文件,而非串行设备。

为了增加对COM10及以上串行端口的支持,微软规定,如果要访问这样的设备,应使用这样的文件名(以COM10为例):\.com10

既串口名就是文件名,如果是10以上就要规范的写法了。

如fopen("\.com10")

你学会了吗?

0 人点赞