Linux 下串口编程心得
我刚刚完成了一个串口的项目,有一点收获,就说说这段时间的体会吧!
一开始在网上找资料,最多是《Linux Serial HOWTO 中译版》,浏览地址:http://linux.cis.nctu.edu.tw/chinese/how-to/Serial-HOWTO.html。以及众多这个版本的摘选,内容是大同小异的。
后来发现,其实串口编程的实质就是多串口属性的设置。
而属性也就下面这么几个:
c_cflag Control options
c_lflag Line options
c_iflag Input options
c_oflag Output options
c_cc Control characters
c_ispeed Input baud (new interface)
c_ospeed Output baud (new interface)
关键是理解有那些属性参数可以设置以及是什么意思。
继续找资料。发现下面的经典文章,可以说基本上所有的串口编程的文章都或多或少的参考了这篇文章,《Serial Programming Guide for POSIX Operating Systems》是一定要看的,我读的是 5th Edition, 3rd Revision - Updated March 11, 2003,下载地址:http://www.easysw.com/~mike/serial/index.html。
当把这篇文章看完之后,基本可以解决串口的设置问题了。不过这是一个英文的版本,本人打算在暑假里把他翻译为中文版本。
关于具体的例子:
http://www.comptechdoc.org/os/linux/programming/c/linux_pgcserial.html 不错,很详细,不过比较复杂。
中文的《Linux Serial HOWTO 中译版》上面就有不少,也很值得参考。
下面的是我的程序,一个串口读取,往 mysql 数据库写数据的程序:
原文链接:http://space.itpub.net/22893636/viewspace-662999
分享到:
相关推荐
我刚刚完成了一个串口的项目,有一点收获,就说说着段时间的体会吧!
在深入探讨Linux设备驱动程序的学习心得之前,先要理解什么是设备驱动程序。设备驱动程序是操作系统与硬件设备之间的桥梁,它允许操作系统控制和通信硬件设备,实现数据的传输。在Linux系统中,设备驱动程序是内核的...
学习Linux设备驱动,还需要了解C语言编程基础、内核编程接口以及编译链接设备驱动模块的方法。同时,实践是理解的关键,可以通过编写简单的字符设备驱动或模拟设备来加深理解。 在深入学习过程中,建议阅读《Linux...
1. 从硬件上,将基于cpu的围器件,整合到cpu芯片内部,如早期基于x86体系结构下的计算机,cpu只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16c550/2的串口控制器芯片实现...
例如,可以在一张软盘上设置一个仅包含串口、键盘和显示输出的x86架构系统,并在此基础上进行编程和调试。 通过以上介绍,我们可以看出,嵌入式Linux系统的设计和开发不仅涉及到了软件工程的各个方面,还需要对底层...
这份详尽的笔记由作者Jeffrey.zhu(朱冲)撰写,包含了他在嵌入式Linux与ARM开发领域的自学心得与经验总结。文档长达700余页,覆盖了从基础知识到高级应用的多个方面,旨在帮助读者快速掌握嵌入式系统开发的核心技能...
这包括安装Linux发行版(如Ubuntu或Fedora)、设置交叉编译工具链、获取设备树(Device Tree)源码以及建立与目标硬件的通信方式(如串口、网络或JTAG)。 第三步:学习C/C++编程 嵌入式Linux开发主要使用C/C++语言...
作者韦东山结合自己的学习经历和工作心得,设计了一条由浅入深、循序渐进的学习路径,从点亮一个LED开始,逐渐引导读者掌握配置、移植、裁剪内核,编写驱动程序,移植GUI系统等技能,最终达到精通整个嵌入式Linux...
### GPRS模块在Linux平台上的PPP拨号上网技术解析及实践 #### 一、引言 随着物联网技术的发展,GPRS(General Packet Radio Service)作为一种成熟的无线数据传输技术,在嵌入式系统中得到了广泛的应用。特别是在...
为了解决这一问题,作者将自己的学习经历和工作心得汇编成书,意在帮助读者加速入门过程,并享受深入学习嵌入式Linux的乐趣。 书中内容分为几大模块,首先是开发环境的构建,包括Linux系统的安装及开发所需日常工具...
#### 五、嵌入式Linux下的典型应用案例 1. **网络设备**:路由器、交换机等。 2. **消费电子**:智能电视、多媒体播放器等。 3. **工业控制**:自动化生产线中的控制器、数据采集终端等。 4. **汽车电子**:车载...
作者通过多年的学习与研究,最终希望将所学知识和心得分享给更多的人,降低学习嵌入式Linux系统建构的难度和门槛。作者相信,通过本书的系统学习,读者可以在较短的时间内掌握嵌入式底层软件开发的核心技术,理解...
《内核阅读心得.pdf》可能包含对Linux内核源码分析的心得体会,对于深入理解设备驱动的工作原理非常有价值。而《c.txt》可能是关于C语言编程基础或者Linux驱动开发中的C语言技巧,C语言是编写Linux设备驱动的常用...
该指导书旨在帮助学生熟悉Linux开发环境,掌握汇编语言编程和嵌入式系统原理。 实验一:熟悉 Linux 开发环境 实验目的:熟悉Linux开发环境,掌握基本的Linux命令和编程技巧。 实验内容:实验一主要涵盖了Linux...
3. **熟悉Linux开发环境**:让学生学会如何在Linux环境下进行编程和编译,特别是针对ARM架构。 ##### 二、实验设备与工具 **硬件设备**: - UP-NETARM2410-S嵌入式实验仪:作为目标板,用于实际的嵌入式应用开发。...
学习和掌握ARM嵌入式Linux系统的体系结构和基本指令,熟悉Linux下的设计流程和编程流程,能够实现一定功能的嵌入式设计,为之前的理论课程实践验证和为今后的学习及将来从事的技术工作打下一定的基础。 二、实训...
在Linux环境下,阅读《UNIX环境高级编程》(APUE)能深入了解操作系统原理。 5. **嵌入式软件开发**:C51或A51汇编语言是单片机编程的基础,Keil C是常用的开发环境。通过课程设计实践,能更快地掌握编程技能。 6....
最后,心得体会部分记录了作者在项目实施过程中的感受,可能包括对嵌入式系统理解的深入,编程技巧的提高,以及团队合作的经验。 总之,基于S3C2440的串口传输及其界面设计是一项综合性的任务,涵盖了嵌入式系统、...