Linux下串口编程之一:基础设置函数
1,串口操作需要的头文件
#include <stdio.h> /* 标准输入输出定义 */
#include <stdlib.h> /* 标准函数库定义 */
#include <unistd.h> /* Unix 标准函数定义 */
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h> /* 文件控制定义 */
#include <termios.h> /*终端控制定义 */
#include <errno.h> /* 错误号定义 */
2,打开串口
在 Linux 下串口文件是位于/dev下的。串口一为/dev/ttyS0,串口二为/dev/ttyS1。打开串口是通过使用标准的文件打开函数操作: int fd; /* 以读写方式打开串口 */
fd = open( "/dev/ttyS0",O_RDWR);
if (-1 == fd)
{
perror(" 提示错误!"); /* 不能打开串口一 */
}
3,串口结构体及参数
串口的设置主要是设置 struct termios 结构体的各成员值。
struct termio
{
unsigned short c_iflag; /* 输入模式标志 */
unsigned short c_oflag; /* 输出模式标志 */
unsigned short c_cflag; /* 控制模式标志 */
unsigned short c_lflag; /* local mode flags */
unsigned char c_line; /* line discipline */
unsigned char c_cc[NCC]; /* control characters */
};
在这个结构中最为重要的是c_cflag,通过对它的赋值,用户可以设置波特率、字符大小、 数据位、停止位、奇偶校验位和硬件流控等。另外c_iflag 和c_cc 也是比较常用的标志。在此主要对这3 个成员进行详细说明。
(1)c_cflag支持的常量名称
CBAUD 波特率的位掩码
B0 0波特率(放弃DTR)
B1800 1800波特率
B2400 2400波特率
&nbs
相关文档:
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
所谓“阅兵”就是检阅部队的意思。
Linux
大军(发行版)可谓“散兵游勇”,谈何大阅兵?此言差矣。
......
嵌入式系统与通用PC机不同,一般没有硬盘这样的存储设备而是使用Flash闪存芯片、小型闪存卡等专为嵌入式系统设计的存储装置,本文分析了嵌入式系统中常用的存储设备及其管理机制,介绍了常用的基于FLASH的文件系统类型。
1.嵌入式系统存储设备及其管理机制分析
构建适用于嵌入式系统的Li ......
目录结构为:
inc/hello.h
src/hello.c
main/main.c
Makefile
文件内容为:
hello.h:
void hello(char name[]);
hello.c:
#include <stdio.h>
void hello(char name[])
{
printf("Hello %s!\n", name);
}
main.c:
#include <stdio.h>
#include "hello.h"
// The second hello.h should ......
本文主要内容是介绍ODBC的简单原理,以及如何在Linux/Unix下进行ODBC的安装、配置与编程。
ODBC原理
ODBC
是Open Database Connect 即开放数据库互连的简称,它是由Microsoft 公司于1991
年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱 ......
安装程序所需要的共享库时需要注意的问题。
起因:安装libsqlite3.so.0 后,使用ldd test 时,却找不到该库文件。
在使用cpptest对原程序运行单元测试时,发现错误,即找不到库文件。
安装完libsqlite3.so.0后,其是存储在usr/local/lib的。所以问题在于,linux下的装载程序 ......