当前位置: 首页 > news >正文

网站建设合理流程游戏推广引流软件

网站建设合理流程,游戏推广引流软件,怎么推广我做的网站,《网站开发课程设计》设计报告一、 串口API 在Linux系统中,操作设备的统一接口就是:open/ioctl/read/write。 对于UART,又在ioctl之上封装了很多函数,主要是用来设置行规程。 所以对于UART,编程的套路就是: open设置行规程,比如波特率、数据位、停止位、检验位、RAW模式、一有数据就返回read/write 怎么设置…

一、 串口API

在这里插入图片描述
在Linux系统中,操作设备的统一接口就是:open/ioctl/read/write。
对于UART,又在ioctl之上封装了很多函数,主要是用来设置行规程。
所以对于UART,编程的套路就是:

  • open
  • 设置行规程,比如波特率、数据位、停止位、检验位、RAW模式、一有数据就返回
  • read/write
    怎么设置行规程?行规程的参数用结构体termios来表示,可以参考Linux串口—struct termios结构体
typedef unsigned char 	cc_t;
typedef unsigned int 	speed_t;
typedef unsgined int 	tcflag_t;#define NCCS 19
struct termios {tcflag_t c_iflag;		/* input mode flags */tcflag_t c_oflag;		/* output mode flags */tcflag_t c_cflag;		/* control mode flags */tcflag_t c_lflag;		/* local mode flags */cc_t c_line;			/* line discipline */cc_t c_cc[NCCS];		/* control characters */
};

这些函数在名称上有一些惯例:

  • tc: terminal control
  • cf: control flag
函数名作用
tcgetattrget terminal attributes,获得终端的属性
tcsetattrset terminal attributes,修改终端参数
tcflush清空终端未完成的输入/输出请求及数据
cfsetispeedsets the input baud rate,设置输入波特率
cfsetospeedsets the output baud rate,设置输出波特率
cfsetspeed同时设置输入、输出波特率

函数不多,主要是需要设置好termios中的参数,这些参数很复杂,可以参考Linux串口—struct termios结构体。

二、编程

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <errno.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <termios.h>
#include <stdlib.h>int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop)
{struct termios newtio, oldtio;if(tcgetattr(fd, &oldtio) != 0) {perror("SetupSerial 1");return -1;}bzero(&newtio, sizeof(newtio));newtio.c_cflag |= CLOCAL|CREAD;newtio.c_cflag &= ~CSIZE;newtio.c_lflag &= ~(ICANON|ECHO|ECHOE|ISIG);newtio.c_oflag &= ~OPOST;switch(nBits) {case 7:newtio.c_cflag |= CS7;break;case 8:newtio.c_cflag |= CS8;break;}switch(nEvent) {case 0:newtio.c_cflag |= PARENB;newtio.c_cflag |= PARODD;newtio.c_iflag |= (INPCK | ISTRIP);break;case 'E':newtio.c_iflag |= (INPCK|ISTRIP);newtio.c_cflag |= PARENB;newtio.c_cflag &= ~PARODD;break;case 'N':newtio.c_cflag &= ~PARENB;break;}switch(nSpeed) {case 2400:cfsetispeed(&newtio, B2400);cfsetospeed(&newtio, B2400);break;case 4800:cfsetispeed(&newtio, B4800);cfsetospeed(&newtio, B4800);break;case 9600:cfsetispeed(&newtio, B9600);cfsetospeed(&newtio, B9600);break;case 115200:cfsetispeed(&newtio, B115200);cfsetospeed(&newtio, B115200);break;default:cfsetispeed(&newtio, B9600);cfsetospeed(&newtio, B9600);break;}if(nStop == 1)newtio.c_cflag &= ~CSTOPB;else if(nStop == 2)newtio.c_cflag |= CSTOPB;newtio.c_cc[VMIN] = 1;newtio.c_cc[VTIME] = 0;tcflush(fd, TCIFLUSH);if((tcsetattr(fd, TCSANOW, &newtio)) != 0) {perror("com set error");return -1;}return 0;
}int open_port(char *com)
{int fd;fd = open(com, O_RDWR|O_NOCTTY);if(-1 == fd) {return -1;}if(fcntl(fd, F_SETFL, 0) < 0) {printf("fcntl failed\n");return -1;}return fd;
}int main(int argc, char *argv[])
{int fd;int iRet;char c;if(argc != 2) {printf("Usage: \n");printf("%s </dev/ttySAC1 or other>\n", argv[0]);return -1;}fd = open_port(argv[1]);if(fd < 0) {printf("open %s err!\n", argv[1]);return -1;}iRet = set_opt(fd, 115200, 8, 'N', 1);if(iRet) {printf("set port err!\n");return -1;}printf("Enter a char: ");while(1) {scanf("%c", &c);iRet = write(fd, &c, 1);iRet = read(fd, &c, 1);if(iRet == 1) {printf("get: %02x %c\n", c, c);} else {printf("can not get data\n");}}return 0;
}

三、上机实验

短接串口的RX和TX

root@npi:~/test# ./a.out /dev/ttymxc2 
Enter a cahr: a
get: 61 a
get: 0a get: 0a get: 0a a 
get: 61 a
get: 0a 
http://www.ds6.com.cn/news/63599.html

相关文章:

  • 武汉做外贸网站的公司百度搜索风云榜手机版
  • 网站数据怎么做接口供小程序调用seo排名点击首页
  • 珠海建设局网站搜索引擎广告形式有哪些
  • 网站建设全程揭秘网页制作软件免费版
  • 庐江网站建设营销推广有哪些公司
  • 有免费做网站的吗企业如何建站
  • 郑州一站式网站搭建项目推广平台排行榜
  • 和别人做网站接单赚钱阿亮seo技术
  • 网站建设邀标书seo综合查询平台官网
  • 网站前台主要的功能是什么深圳推广服务
  • 湘潭响塘乡建设局网站广州百度快速优化排名
  • 网站更换服务器 seo百度经验怎么赚钱
  • 重庆龙华网站建设公司google浏览器下载
  • 分类信息网站建设价格电商推广
  • 专业做网站套餐亚马逊的免费网站
  • 满满正能量网站b站推广网站mmm
  • 现在还做自适应网站免费的网页模板网站
  • 三五互联网站管理登录地址湖南关键词优化首选
  • 网站做app要权限洛阳网站建设
  • 北镇做网站亚马逊alexa
  • 无锡 网站建设长沙seo网站排名
  • 南京广告公司招聘seo网站优化论文
  • mac wordpress ngnix排名轻松seo 网站
  • 龙江手机网站建设微信小程序开发多少钱
  • icp备案 网站备案安徽网站建设优化推广
  • 长沙有做网站的吗网络营销步骤
  • 网站做抢红包活动广告语软文发布平台排名
  • 广州做服装电商拿货的网站视频推广方案模板
  • 网站服务器崩了怎么办百度手机点击排名工具
  • 大连网站建设找哪家什么是网站