该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

如何通过终端读取并显示串口连接的某硬件的数据

通过一程序来代替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语言怎么读取串口的数据为,如何通过串口来读写数据,请教达人相关推荐

  1. 用c语言做RFID读卡程序,2.STM32读卡号读写数据代码示例3.0(C语言)

    文件名大小更新时间 2.STM32读卡号读写数据代码示例3.0(C语言)\HFRFID.uvgui.WEIZAI736912016-07-15 2.STM32读卡号读写数据代码示例3.0(C语言)\H ...

  2. android ble蓝牙接收不到数据_Android蓝牙4.0 Ble读写数据详解 -2

    Android蓝牙4.0 Ble读写数据详解 -2 上一篇说了如何扫描与链接蓝牙 这篇文章讲讲与蓝牙的数据传输,与一些踩到的坑. 先介绍一款调试工具,专门调试Ble蓝牙的app.名字叫:nRF-Con ...

  3. java按列读取数据再存储_Java指定行读写数据

    /** * 根据指定行写数据 * * @param lineNumber 要存的行数 * @param data 要存储的数据 */ public static void setAppointedLi ...

  4. 大数据学习总结+JAVA学习总结+大数据面试+java面试+大数据java异常总结

    文章目录 一.java模块面试问题 1.动态代理 2.浏览器禁用Cookie后的Session处理 3.主从复制的流程[重要] 5.redis的数据类型[重要] 6.Junit测试的注解 7.缓存问题 ...

  5. c语言从串口获取数据,如何通过串口来读写数据,请教达人

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何通过终端读取并显示串口连接的某硬件的数据 通过一程序来代替hexdump  从而进行输入输出 用C语言实现 下面一程序为i/o输入输出,请教达人,怎样 ...

  6. c语言如何获取串口列表,如何通过串口来读写数据,请教达人

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何通过终端读取并显示串口连接的某硬件的数据 通过一程序来代替hexdump  从而进行输入输出 用C语言实现 下面一程序为i/o输入输出,请教达人,怎样 ...

  7. VS语音信号处理(2) C语言分段读取WAV语音文件语音数据

    VS语音信号处理(2) C语言分段读取WAV语音文件语音数据 前言 一. 工程实现 二. 结果 三. 小结 前言 语音识别相关算法一般在MATLAB上进行仿真验证与实验,在工程上一般还是在VS中进行实 ...

  8. R语言中读取excel数据的常用方式有哪些?

    R语言中读取excel数据的常用方式有哪些? 目录 R语言中读取excel数据的常用方式有哪些? R语言是解决什么问题的? R语言中读取excel数据的常用方式有哪些? R语言是解决什么问题的? R ...

  9. r语言在linux下取数据,菜鸟第一步,跪在数据处:R语言读取数据

    1. 温故知坑 实践是学习知识的最好途径.之前我讲的内容都非常非常基础,包括: (1)什么是R语言?R语言和Rstudio软件的安装,Rstudio的界面介绍: (2)R语言的基本逻辑,基本数据类型: ...

最新文章

  1. 马云携阿里17位创始人及合伙人捐赠浙大一院5.6亿,杭州渐成中国硅谷
  2. Java常用垃圾收集器
  3. ccf json解析 java,【求助】e4a json解析 求助大佬帮忙老看下怎么取?
  4. java访问其它服务器,一个Java Web应用程序是否可以在tomcat服务器的同一本地主机中调用另一个Java Web应用程序...
  5. 巴菲特2019年慈善午餐开拍 目前出价已超过11万美元
  6. 在linux中emacs安装package.el
  7. 55个javascript经典用法
  8. 常用正则表达式(regular expression)
  9. (一)LINGO入门---软件安装
  10. ectouch后台添加菜单
  11. 小米原装系统镜像列表
  12. 深圳禾正医院自控系统案例|能迪科技canlead中央空调净化系统
  13. 简单工厂(Java)
  14. 1K直接金属涂层(DTM)-市场现状及未来发展趋势
  15. egret 微信小游戏 分享游戏截图
  16. MySQL安全分析:缓解MySQL零日漏洞
  17. MFC 隐藏/显示鼠标图标
  18. ORA-01653: unable to extend table原因及解决
  19. 机器学习中【回归算法】详解
  20. 个人Javascript学习

热门文章

  1. Javascript-稳妥构造函数模式
  2. Linux 指令篇:文本统计--wc(word count)
  3. Java关键字系列(public,protected,private)
  4. python 获取 文件修改时间 距离 当前时间 天数 秒数
  5. socket PF_INET AF_INET 区别
  6. SAP 企业管理软件与解决方案 产品简介
  7. DPDK(Data Plane Development Kit)快速处理数据包 开发平台及接口 简介
  8. rtp 多媒体流同步控制 实时传输协议 简介
  9. 项目代码结构 Dao,Service,Controller,Util,Model 含义
  10. linux c dns查询IP地址