linux 串口内核加载,linux对串口编程的详解(从应用层到内核驱动,包括232,485)
我们平时用232,485对应用开发没有什么区别。唯一的不同的是485是半双工(在同一时刻只能发或者收)。引脚控制DE/RE。
因此在控制485通信时要控制DE/RE引脚。而不管是232还是485,都是接在芯片的串口引脚上。
“他妈的CSDN破编辑器!!!!!!!!!!!烂得要死,别的不说。。。图片都不能上传了”
各位如需要去空间图片中打rs485标题的图片
1. 图中的DE接在一个GPIO上。高电平发送,低电平接收。所以写一个简单的GPIO驱动。
int ctrlbits,value;
int fd1=open( "/dev/avt_gpio", 0 ); //gpg10 13 is send 14 is rev
if( fd1 < 0 )
{
printf( "Open avt_gpio fail.\n" );
//return -1;
}
if(val)
ctrlbits = 14; //rev
else
ctrlbits = 13; //send
ioctl( fd1, ctrlbits, &value );
至于设置波特率,数据位,停止位就不讲了:
tcflush(fd, TCIOFLUSH);
cfsetispeed(&Opt, speed_arr[i]);
cfsetospeed(&Opt, speed_arr[i]);
status = tcsetattr(fd, TCSANOW, &Opt);
发送:
ret = write( l_hand_rs485, buf,length);
2. 有的硬件工程师朋友会把DE/RE引脚如此到串口的CTSRTS引脚上
那连GPIO驱动都不用写了。直接使用
struct termios options;
tcgetattr(fd, &options);
先查询其它的属性
//options.c_cflag |= CRTSCTS; /* Also called CRTSCTS*/
/* set the input options */
改变这个
tcsetattr(fd, TCSANOW, &options);
你懂的!
至于串口的驱动,隔那么久时间,架构都不清楚了。。等有时间再写出来吧。希望能帮到同志们。
linux 串口内核加载,linux对串口编程的详解(从应用层到内核驱动,包括232,485)相关推荐
- 加载、滑动翻阅大量图片解决方案详解
加载.滑动翻阅大量图片解决方案详解 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制. 我要详细说一下,在缩略图界面点击任意小缩略图后,进入高清大图全屏 ...
- iOS开发——加载、滑动翻阅大量图片解决方案详解
目录(?)[-] 常规思路流程 使用低分辨率图 多线程任务 优化快速翻阅体验 最后还一个砍儿 加载.滑动翻阅大量图片解决方案详解 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的 ...
- iOS开发——加载、滑动翻阅大量图片解决方案详解 .
加载.滑动翻阅大量图片解决方案详解 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制. 我要详细说一下,在缩略图界面点击任意小缩略图后,进入高清大图全屏 ...
- linux单体内核,加载Linux单体内核的笔记
"Hello world"是一个示例模块(module),文件名是hello.c: #include #include MODULE_LICENSE("Dual BSD/ ...
- linux modprobe自动加载,Linux modprobe自动处理可载入模块命令详解
modprobe(module probe) 功能说明:自动处理可载入模块. 语法:modprobe [-acdlrtvV][–help][模块文件][符号名称 = 符号值] 补充说明:modprob ...
- linux modprobe自动加载,Linux运维知识之Linux modprobe自动处理可载入模块命令详解
本文主要向大家介绍了Linux运维知识之Linux modprobe自动处理可载入模块命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. modprobe(module p ...
- ios首次加载web_IOS_IOS中UIWebView的使用详解,一、初始化与三种加载方式
UI - phpStudy...
IOS中UIWebView的使用详解 一.初始化与三种加载方式 UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种 ...
- Android平滑图片加载和缓存库Glide使用详解
在图片加载库烂大街的今天,选择一个适合自己使用的图片加载库已经成为了每一个Android开发者的必经之路.现在市面上知名的图片加载库有UIL,Picasso,Volley ImageLoader,Fr ...
- [Aaronyang] 写给自己的WPF4.5 笔记6[三巴掌-大数据加载与WPF4.5 验证体系详解 2/3]
我要做回自己--Aaronyang的博客(www.ayjs.net) 博客摘要: Virtualizing虚拟化DEMO 和 大数据加载的思路及相关知识 WPF数据提供者的使用ObjectDataPr ...
- CGContextRef绘图-iOS球形波浪加载进度控件-HcdProcessView详解
简书也有发布:http://www.jianshu.com/p/20d7... <iOS球形波浪加载进度控件-HcdProcessView>这篇文章已经展示了我在项目中编写的一个球形进度加 ...
最新文章
- linux 毫秒 转换方法,linux-将抖动转换为毫秒
- nodeJs --- web服务器创建
- 那些年困扰 Linux 的蠕虫、病毒和木马
- MySQL查询面试题
- 高级数据分析师凭什么月薪三万?一文解答你所有困惑
- Centos 利用yum源安装 nginx stream模块
- git--- 删除不存在对应远程分支的本地分支
- getresourceasstream方法_【设计模式】第三篇:一篇搞定工厂模式【简单工厂、工厂方法模式、抽象工厂模式】...
- 使用 加载 顺序_SpringBoot系列教程之Bean加载顺序之错误使用姿势辟谣
- 解决SpringBoot jar包太大的问题
- python牛顿法求方程的根_Python 求多重根的方法
- 学弟学妹看我文章顺利毕业,基于HTML+Javascript五子棋人机博弈系统设计与实现《记得收藏》
- 计算机运维需要那些知识,运维必知必备!73页计算机基础知识,新手小白也能轻松读懂...
- DroidCam通过网络调用手机摄像头的方法二
- Ubuntu系统查看显卡型号
- neutron-server.service启动失败显示代理报错http://controller:9696/v2.0/agents.json
- empress和queen区别_王后和皇后有什么区别?
- 为什么以及如何通过机器人学习编程和项目实践
- Java 开发中常用的 4 种加密方法。MD5加密工具类测试 base64加密工具类测试 SHA加密工具类测试 BCrypt加密工具类测试
- 类和函数模板以及特例化
热门文章
- Ros学习笔记(五)创建Ros服务
- java 象限分析_用四种象限分析你(未来的人生走向)
- java读取外部配置文件_SpringBoot读取外部配置文件的方法
- 在delphi中嵌入脚本语言--(译)RemObjects Pascal Script使用说明(1)(译)
- cocos creator基础-(六)cc.Sprite使用
- 构建自己的PHP框架--实现Model类(2)
- Java 多线程 简单实例 (Thread)
- 请教大家一个问题,有关于数据库的设计
- Jmeter多机联合产生负载 (转)
- Security+ 学习笔记12 安全编码实践