C语言写个简单的串口调试助手

这篇博客介绍了如何使用C语言在Windows环境下创建一个简单的串口调试助手。通过CreateFile得到串口句柄,配置串口参数如超时时间、波特率,然后使用ReadFile和WriteFile进行数据读写。提供了完整的代码示例,适用于单片机或嵌入式开发中的串口通信调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习单片机或者嵌入式编程常常要用到超级终端–串口调试助手,但有时需要我们自己做一个终端,用来当上位机。最近课设要求我们自己写个终端来处理串口信息,于是乎,接触了一些windows的串口API,做出了一个简单的串口调试助手,很简陋~

Windows把串口当作文件处理,这点很重要!

使用串口的基本流程:
1、得到串口的句柄,句柄可以看作一个指针或者是一个实例
2、配置串口,比如收发超时时间、波特率,奇偶校验
3、读写串口

一、得到串口句柄

使用CreateFile 函数,有8个参数。
不懂这些函数的使用点这个链接,可以节省你的时间

上面这个链接非常非常重要,是一个大佬的博客

//打开串口  CreateFile函数 
	hCom = CreateFile("COM3",GENERIC_READ |GENERIC_WRITE, 0,NULL,OPEN_EXISTING,0,NULL);
	
	if (hCom !=INVALID_HANDLE_VALUE)
	{
   
  		printf("串口打开成功!\n");
 	}else 
	 {
    
  		printf("串口打开失败!\n");
  	} 

二、配置串口

1、设置读写超时等待时间
使用SetCommTimeouts 函数,2个参数。

	COMMTIMEOUTS timeouts;	//windows.h头文件设置的一种变量类型
//读超时 
	timeouts.ReadIntervalTimeout = 1000;		//读操作时两个字符间的间隔超时
	timeouts.ReadTotalTimeoutMultiplier = 500;	//读操作在读取每个字符时的超时
	timeouts.ReadTotalTimeoutConstant = 5000;	//读操作的固定超时
	//写超时 
	timeouts.WriteTotalTimeoutMultiplier = 0;	//写操作在写每个字符时的超时
	timeouts.WriteTotalTimeoutConstant = 2000;	//写操作的固定超时
	
	SetCommTimeouts(hCom,&timeouts);

2、设置输入输出缓存区大小
使用SetupComm函数,2个参数。

//设置输入输出缓冲区大小
	SetupComm(hCom,
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值