c语言如何获取串口列表,如何通过串口来读写数据,请教达人
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如何通过终端读取并显示串口连接的某硬件的数据
通过一程序来代替hexdump 从而进行输入输出
用C语言实现
下面一程序为i/o输入输出,请教达人,怎样才能输入输出串口的硬件数据
#include
#include
#include
#include
#include
#include
#include
#include
voidstripcrlf(char *temp);
int write_buffer(int fd,const void *buf,int count);
intread_buffer(int fd,void *buf,int count);
int rednlsting(int socket,char *buf,int maxlen);
int readdelimstring(int socket,char *buf,int maxlen,char delim);
void exiterror(char *message,int errnum);
const char *MESSAGE_filename="Select output filename:";
const char *MESSAGE_numbers="Please enter some numbers. Use -1 when you want to exit.\n";
int main(void)
{
int outfile;
int input[80];
int buffer[80];
write_buffer(1,MESSAGE_filename,strlen(MESSAGE_filename));
readnlstring(0,input,sizeof(input));
outfile=open(input,O_WRONLY | O_CREAT | O_TRUNC,0640);
if(outfile == -1)
{
exiterror("Error opening output file:",errno);
}
write_buffer(1,MESSAGE_numbers,strlen(MESSAGE_numbers));
do
{
readnlstring(0,input,sizeof(input));
if(write_buffer(outfile,input,strlen(input))
{
exiterror("Error writing:",errno);
}
if(write_buffer(outfile,"\n",1)<0)
{
exiterror("Error writing:",errno);
}
sprint(buffer,"New:%d\n", atoi(input)*5+(20*100)-12);
if(write_buffer(outfile,buffer,strlen(buffer))<0)
{
exiterror("Error writing:",errno);
}
}
while(atoi(input)!=-1);
close(outfile);
return 0;
}
void stripcrlf(char *temp)
{
while(strlen(temp)&&temp[0]&&((temp[strlen(temp)-1] == 13)||(temp[strlen(temp)-1] ==10)))
{
temp[strlen(temp)-1] = 0;
}
}
int write_buffer(int fd,const void *buf,int count)
{
const void *pts = buf;
int status = 0,n;
if (count<0) return (-1);
while(status!= count)
{
n=write(fd,pts+status,count-status);
if(n
status += n;
}
return(status);
}
int read_buffer(int fd,void *buf,int count)
{
void *pts=buf;
int status=0,n;
if(count<0)return(-1);
while(status!=count)
{
n = read(fd,pts+status,count-status);
if(n<1) return n;
status += n;
}
return(status);
}
int readnlstring(int socket,char *buf,int maxlen)
{
return readdelimstring(socket,buf,maxlen,'\n');
}
int readdelimstring(int socket,char *buf,int maxlen,char delim)
{
int status;
int count=0;
while(count
{
if((status=read_buffer(socket,buf+count,1))<1)
{
printf("Error reading./n");
return -1;
}
if(buf[count]==delim)
{
buf[count]=0;
return0;
}
count++;
}
buf[count]=0;
return0;
}
void exiterror(char *message,int errnum)
{
write_buffer(1,message,strlen(message));
write_buffer(1,sys_errlist[errnum],strlen(sys_errlist[errnum]));
write_buffer(1,"\n",1);
exit(255);
}
c语言如何获取串口列表,如何通过串口来读写数据,请教达人相关推荐
- c语言从串口获取数据,如何通过串口来读写数据,请教达人
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何通过终端读取并显示串口连接的某硬件的数据 通过一程序来代替hexdump 从而进行输入输出 用C语言实现 下面一程序为i/o输入输出,请教达人,怎样 ...
- C语言怎么读取串口的数据为,如何通过串口来读写数据,请教达人
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何通过终端读取并显示串口连接的某硬件的数据 通过一程序来代替hexdump 从而进行输入输出 用C语言实现 下面一程序为i/o输入输出,请教达人,怎样 ...
- R语言观察日志(part5)--利用readr和readxl包读写数据
学习笔记,仅供参考 利用readr和readxl包读写数据 读取数据 相关函数 函数包readr和readxl提供了一系列的数据读入功能,主要函数如下: #readr包read_delim(file, ...
- js串口 Java web串口 调用客户端的串口 串口上云 硬件上云
最新版本已经投入实际运行使用,demo版禁止未授权时投入商业使用 用Java串口开发,发现部署到服务器后连接不到本地的串口,蒙 于是准备用纯js调串口 发现兼容性不咋地 经过许多思考 我突然发现我会c ...
- 用c语言做RFID读卡程序,2.STM32读卡号读写数据代码示例3.0(C语言)
文件名大小更新时间 2.STM32读卡号读写数据代码示例3.0(C语言)\HFRFID.uvgui.WEIZAI736912016-07-15 2.STM32读卡号读写数据代码示例3.0(C语言)\H ...
- R语言list.dirs函数获取目录列表实战
R语言list.dirs函数获取目录列表实战 目录 R语言list.dirs函数获取目录列表实战 #仿真数据 #获取目录列表
- R语言list.files函数获取文件列表实战
R语言list.files函数获取文件列表实战 目录 R语言list.files函数获取文件列表实战 #仿真数据 #基本语法
- ntrip获取源列表_Ntrip通讯协议怎么样?
1 什么是Ntrip? CORS(Continuously Operating Reference Stations)就是网络基准站,通过网络收发GPS差分数据.用户访问CORS后,不用单独架设GPS ...
- ntrip获取源列表_Ntrip协议简介(转)
1 什么是Ntrip? CORS(Continuously Operating Reference Stations)就是网络基准站,通过网络收发GPS差分数据.用户访问CORS后,不用单独架设GPS ...
最新文章
- Galaxy Release (v 21.05),众多核心技术栈变更
- 这款AI语音模型让派大星承认自己是钢铁侠,造假小扎对口型,火到挤爆服务器|在线可玩...
- 一线大厂Java开发所需掌握的技能要点汇总
- 学习css3中的动画
- 【STM32】 keil软件介绍--工程目标选项配置(上)
- 新个税法通过,起征点每月5000元,一图看清你能省多少钱
- Java 中各种锁的介绍
- 割点和桥算法——摘自《算法艺术与信息学竞赛》
- inputstream转fileinputstream对象_FileInputStream类:文件字节输入流
- 定位position(前面布局无法实现
- Integer类的装箱和拆箱到底是怎样实现的?
- [Redis]c# redis缓存辅助类
- matlab获取全局变量的值_全局变量在几个函数及Matlab函数中都能使用的变量.PPT...
- Securing Checklists
- word每行的末尾箭头怎么去掉_如何将word中箭头去掉 word中的箭头怎么去掉
- java 实现session的退出登录
- Markdown快捷键
- blog在搜索引擎的排名下降与technorati
- android 动态修改logo,关于app动态修改logo的问题
- 用python完成一个数独小游戏
热门文章
- 2018-06-25-Python全栈开发day21-part2-time模块介绍
- (原创)VS2017 C# 运行 Javasrcipt RSA 加密用户名登录 Java开发的服务器
- Android应用开发之(通过ClipboardManager, ClipData进行复制粘贴)
- CentOS7 安装NFS SSH免密码登陆
- 持续集成工具Hudson安装实例
- c语言查找功能的怎么使用方法,求C语言实现查询功能(如果选择3,如何实现查询)...
- c语言如果读不到数据就跳过,4,VS常见问题解决(一闪而过、等问题)不断更新...
- java timer 线程安全_多线程之 线程安全与控制
- linux网卡O I流量查询,查看linux server网络I/0流量的shell脚本
- 0-1背包动态规划c语言,动态规划解决0-1背包问题程序看不懂,请大家看看帮忙解决下...