linux串口程序

本文档通过main.c和SerDrive.h两个文件,详细介绍了如何在Linux环境下编写串口通信程序,涵盖了串口配置、数据读写等关键步骤,为进行嵌入式系统或设备间通信提供了基础指南。
摘要由CSDN通过智能技术生成

main.c

#include "SerDrive.h"
#include <fcntl.h>      /*文件控制定义*/
#include <stdio.h>
//======================================
int SerFd = -1;
void ProcessInit(void)
{

	/*
	 * 打开USB转串口(ttyUSB0)
	 * O_RDWR 可读写设备
	 * O_NOCTTY 如果欲打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机
	 * O_NDELAY 以不可阻断的方式打开文件,也就是无论有无数据读取或等待,都会立即返回进程之中
	 */
	SerFd = open("/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_NDELAY);
	if (0 < SerFd)
	{
		set_opt(SerFd, BAUD_2400, DATA_BIT_8, PARITY_NONE, STOP_BIT_1);//设置串口参数
	}
	else
	{
		printf("open_port ERROR !\n");
	}
}

int main(int argc, char *argv[])
{
	int nTmp = 0;
	char Buf[1024];
	ProcessInit();
	send_data_tty(SerFd, "hello series\n",sizeof("hello series\n"));
	while (1)
	{
		//从串口中读取数据
		nTmp = read_datas_tty(SerFd, Buf, 100, 1024);
		if(nTmp)printf("%s",Buf);
		if (0 < nTmp)
		{
			//printf("rcv len=%d,data:%s\n",nTmp,Buf);
			//向串口传数据
			send_data_tty(SerFd, Buf, nTmp);
		}
	}
}



SerDrive.h

#ifndef SERDRIVE_H
#define SERDRIVE_H
//==========
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值