GPIO库函数调用

GPIO库函数调用
GPIO库函数调用

/****************************************************************************** *名称:STM32GPIO库函数介绍及其使用

*时间:2012/11/22

*作者:祝浩

*******************************************************************************

/****************************************************************************** GPIO_DeInit(GPIO_TypeDef* GPIOx);

功能:将外设GPIOx 寄存器重设为缺省值

参数:GPIOx:x 可以是A,B ,C ,D 或者E,来选择GPIO外设

例子:GPIO_DeInit(GPIOA);

******************************************************************************* /****************************************************************************** GPIO_AFIODeInit(void);

功能:将复用功能(重映射事件控制和EXTI设置)重设为缺省值

参数:无

例子:GPIO_AFIODeInit();

******************************************************************************* /****************************************************************************** GPIO_Init(GPIO_TypeDef* GPIOx,GPIO_InitTypeDef* GPIO_InitStruct);

功能:根据GPIO_InitStruct 中指定的参数初始化外设GPIOx 寄存器

参数:GPIOx:x 可以是A,B ,C ,D 或者E,来选择GPIO外设

GPIO_InitStruct:指向结构GPIO_InitTypeDef 的指针,包含了外设GPIO的配置信息例子:GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOA TING;

GPIO_Init(GPIOA, &GPIO_InitStructure); //Configure all the GPIOA in Input Floating mode

******************************************************************************* /****************************************************************************** GPIO_StructInit(GPIO_Ini tTypeDef* GPIO_InitStruct);

功能:把GPIO_InitStruct 中的每一个参数按缺省值填入

参数:GPIO_InitStruct:指向结构GPIO_InitTypeDef 的指针,待初始化

例子:GPIO_InitTypeDef GPIO_InitStructure;

GPIO_StructInit(&GPIO_InitStructure); //Initialize the GPIO Init Structure parameters

******************************************************************************* /****************************************************************************** GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx,u16 GPIO_Pin);

功能:读取指定端口管脚的输入

参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设

GPIO_Pin:待读取的端口位

返回值:输入端口管脚值

例子:ReadV alue=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);//Reads the seventh pin of the GPIOB and store it in ReadV alue variable

******************************************************************************* /****************************************************************************** GPIO_ReadInputData(GPIO_TypeDef* GPIOx);

功能:读取指定的GPIO端口输入

参数:GPIOx:x 可以是A,B ,C ,D 或者E,来选择GPIO外设

返回值:GPIO输入数据端口值

例子:u16 ReadV alue;

ReadV alue=GPIO_ReadInputData(GPIOA);//Read the GPIOC input data port and store it in ReadV alue variable

******************************************************************************* /****************************************************************************** GPIO_ReadOutputDataBit();

功能:读取指定端口管脚的输出

参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设

GPIO_Pin:待读取的端口位

返回值:输出端口管脚值

例子:u8 ReadV alue;

ReadV alue=GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_0);//Reads the seventh pin of the GPIOB and store it in ReadV alue variable

******************************************************************************* /****************************************************************************** GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);

功能:读取指定的GPIO端口输出

参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设

返回值:GPIO输出数据端口值

例子:u16 ReadV alue;

ReadV alue=GPIO_ReadOutputData(GPIOC);//Read the GPIOC output data port and store it in ReadV alue

variable

*******************************************************************************

/****************************************************************************** GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);

功能:设置指定的数据端口位

参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设

GPIO_Pin:待设置的端口位

例子:GPIO_SetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);//Set the GPIOA port pin 10 and pin 15

******************************************************************************* /****************************************************************************** GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);

功能:清除指定的数据端口位

参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设

GPIO_Pin:待清除的端口位

例子:GPIO_ResetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);//Clears the GPIOA port pin 10 and pin 15

******************************************************************************* /****************************************************************************** GPIO_WriteBit(GPIO_TypeDef* GPIOx, u16 GPIO_Pin, Bit Action Bit V al);

功能:设置或者清除指定的数据端口位

参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设

GPIO_Pin:待设置或者清除指的端口位

Bit V al: 该参数指定了待写入的值该参数必须取枚举Bit Action 的其中一个值

Bit RESET: 清除数据端口位

Bit SET: 设置数据端口位

例子:GPIO_WriteBit(GPIOA, GPIO_Pin_15, Bit SET);//Set the GPIOA port pin 15

******************************************************************************* /****************************************************************************** GPIO_Write(GPIO_TypeDef* GPIOx, u16 PortV al);

功能:向指定GPIO数据端口写入数据

参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设

PortV al: 待写入端口数据寄存器的值

例子:GPIO_Write(GPIOA, 0x1101); //Write data to GPIOA data port

*******************************************************************************

/****************************************************************************** GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);

功能:锁定GPIO管脚设置寄存器

参数:GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设

GPIO_Pin:待锁定的端口位该参数可以取GPIO_Pin_x(x 可以是0-15)的任意组合例子:GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1); //Lock GPIOA Pin0 and Pin1 *******************************************************************************

/****************************************************************************** GPIO_EventOutputConfig(u8 GP IO_PortSource, u8 GPIO_PinSource)

功能:选择GPIO管脚用作事件输出

参数:GPIO_PortSource: 选择用作事件输出的GPIO端口

GPIO_PinSource :事件输出的管脚,该参数可以取GPIO_PinSourcex(x可以是0-15) 例子:GPIO_EventOutputConfig(GPIO_PortSourceGPIOE, GPIO_PinSource5); //Selects the GPIOE pin 5 for EVENT output

*******************************************************************************

/****************************************************************************** GPIO_EventOutputCmd(FunctionalState NewState) ;

功能:使能或者失能事件输出

参数:NewState: 事件输出的新状态这个参数可以取:ENABLE 或者DISABLE

例子:GPIO_EventOutputConfig(GPIO_PortSourceGPIOC, GPIO_PinSource6);

GPIO_EventOutputCmd(ENABLE); //Enable Event Ouput to the GPIOC pin 6

******************************************************************************* /****************************************************************************** GPIO_PinRemapConfig(u32 GPIO_Remap, FunctionalState NewState) ;

功能:改变指定管脚的映射

参数:GPIO_Remap: 选择重映射的管脚

NewState: 管脚重映射的新状态这个参数可以取:ENABLE 或者DISABLE

例子:GPIO_PinRemapConfig(GPIO_Remap_I2C1, ENABLE);//I2C1_SCL on PB.08, I2C1_SDA on PB.09

******************************************************************************* /****************************************************************************** GPIO_EXTILineConfig(u8 GPIO _PortSource, u8 GPIO_PinSource) ;

功能:选择GPIO管脚用作外部中断线路

参数:GPIO_PortSource: 选择用作外部中断线源的GPIO端口

GPIO_PinSource :待设置的外部中断线路

例子:GPIO_EXTILineConfig(GPIO_PortSource_GPIOB, GPIO_PinSource8);//Selects PB.08 as EXTI Line 8

*******************************************************************************

C语言标准库函数

标准库函数 本附录描述了标准C支持的库函数①。使用此附录时,请记住下列要点。 为了简洁清楚,这里删除了一些细节。如果想看全部内容,请参考标准。本书的其他地方已经对一些函数(特别是printf函数、scanf函数以及它们的变异函数)进行了详细介绍,所以这里 只对这类函数做简短的描述。为了获得关于某个函数更详细的信息(包括如何使用这个函数的示 例),请见函数描述右下角用楷体列出的节号。 每个函数描述结尾都有其他与之相关函数的列表。相似函数非常接近于正在描述的函数。相关函数经常会和在描述的函数联合使用。(例如,calloc函数和realloc函数与malloc函数“类似”, 而free函数则与malloc函数“相关”。)也可参见的函数和在描述的函数没有紧密联系,但是却 可能有影响。 如果把函数行为的某些方面描述为由实现定义的,那么这就意味着此函数依赖于C库的实现方式。 函数将始终行为一致,但是结果却可能会由于系统的不同而千差万别。(换句话说,请参考手册了 解可能发生的问题。)另一方面,未定义的行为是一个不好的消息:不但函数的行为可能会因系统 不同而不同,而且程序也可能会行为异常甚至崩溃。 中许多函数的描述提到了定义域错误和取值范围错误。在本附录的末尾对这两种错误进行了定义。 601 下列库函数的行为是会受到当前地区影响的: 字符处理函数(除了isdigit函数和isxdigit函数)。 格式化输入/输出函数。 多字节字符和字符串函数。 字符串转换函数。 Strcoll函数、strftime函数和strxfrm函数。 例如,isalpha函数实际上检测字符是否在a到z之间或者在A到Z之间。在某些区域内也把其他字符看成是字母次序的。本附录描述了在"C"(默认的)地区内库函数的行为。 一些函数实际上是宏。然而,这些宏的用法和函数完全一样,所以这里不对它们区别对待。 abort 异常终止程序 void abort(void); 产生SIGABRT信号。如果无法捕获信号(或者如果信号处理函数返回),那么程序会异常 终止,并且返回由实现定义的代码来说明不成功的终止。是否清洗输出缓冲区,是否关 闭打开的流,以及是否移除临时文件都是由实现定义的。 相似函数exit函数、raise函数 相关函数assert函数、signal函数 也可参见atexit函数 26.2节abs 整数的绝对值 int abs(int j); 返回整数j的绝对值。如果不能表示j的绝对值,那么函数的行为是未定义的。 ①这些材料经ANSI许可改编自American National Standards Institude ANSI/ISO 9899?1990。这个标准的副本可从 ANSI购买(ANSI, 11 West 42nd Street, New York, NY 10036)。

C语言标准库函数查询手册

C语言标准库函数 郝培林整理

A abort 功能异常终止程序 头文件stdlib.h 语法 void abort(void); abs 功能整数的绝对值 头文件stdlib.h 语法 int abs(int j); 返回值整数 j 的绝对值。如果不能表示 j 的绝对值,那么函数的行为是未定义的。absread 功能读磁盘绝对扇区函数 头文件 dos.h 语法 int absread(int drive,int num,int sectnum,void *buf) 返回值 0:成功;-1:失败。 abswrite 功能写磁盘绝对扇区函数 头文件 dos.h 语法 int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A 驱动器)、1(B 驱动器)、 nsects=要写的扇区数(最多 64K 个); lsect=起始逻辑 扇区号; buffer=要写入数据的内存起始地址。 返回值 0:成功;-1:失败。 acos 功能 反余弦头文件 math.h 语法 math.hdouble acos(double x);

返回值 x 的反余弦值。返回值的范围在 0 到π之间。如果 x 的值不在?1 到+1 之间,那么就会发生定义域错误。 asctime 功能把日期和时间转换成 ASCII 码 头文件 time.h 语法 char *asctime(const struct tm *timeptr); 返回值指向以空字符结尾的字符串的指针。 asin 功能反正弦 头文件 math.h 语法 double asin(double x); 返回值 x 的反正弦值。返回值的范围在-π/2 到π/2 之间。如果 x 的值不在-1 到+1 之间, 那么 就会发生定义域错误。 assert 功能诊断表达式的真值 头文件 assert.h 语法 void assert(int expression); atan 功能反正切 头文件 math.h 语法 double atan(double x); 返回值x 的反正切值。返回值的范围在?π/2 到π/2 之间。 atexit 功能在程序退出处注册要调用的函数头文件 stdlib.h 语法

C语言标准库函数2012

常用C语言标准库函数2012 C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。 1.测试函数 Isalnum 原型:int isalnum(int c) 功能:测试参数c是否为字母或数字:是则返回非零;否则返回零 头文件:ctype.h Isapha 原型:int isapha(int c) 功能:测试参数c是否为字母:是则返回非零;否则返回零 头文件:ctype.h Isascii 原型:int isascii(int c) 功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零 头文件:ctype.h Iscntrl 原型:int iscntrl(int c) 功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零 头文件:ctype.h Isdigit 原型:int isdigit(int c) 功能:测试参数c是否为数字:是则返回非零;否则返回零。 头文件:ctype.h Isgraph 原型:int isgraph(int c) 功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.h Islower 原型:int islower(int c) 功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.h

Isprint 原型:int isprint(int c) 功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零 头文件:ctype.h Ispunct 原型:int ispunct(int c) 功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.h Isupper 原型:int isupper(inr c) 功能:测试参数c是否为大写字母:是则返回非零;否则返回零 Isxdigit 原型:int isxdigit(int c) 功能:测试参数c是否为十六进制数:是则返回非零;否则返回零 2.数学函数 abs 原型:int abs(int i) 功能:返回整数型参数i的绝对值 头文件:stdlib.h,math.h acos 原型:double acos(double x) 功能:返回双精度参数x的反余弦三角函数值 头文件:math.h asin 原型:double asin(double x) 功能:返回双精度参数x的反正弦三角函数值 头文件:math.h atan 原型:double atan(double x) 功能:返回双精度参数的反正切三角函数值 头文件:math.h atan2 原型:double atan2(double y,double x) 功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.h cabs

C语言中常用的库函数

字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 头文件ctype.h 函数列表<> 函数类别函数用途详细说明 字符测试是否字母和数字isalnum 是否字母isalpha 是否控制字符iscntrl 是否数字isdigit 是否可显示字符(除空格外)isgraph 是否可显示字符(包括空格)isprint 是否既不是空格,又不是字母和数字的可显示字符ispunct 是否空格isspace 是否大写字母isupper 是否16进制数字(0-9,A-F)字符isxdigit 字符大小写转换函数转换为大写字母toupper 转换为小写字母tolower 地区化 本类别的函数用于处理不同国家的语言差异。 头文件local.h 函数列表 函数类别函数用途详细说明 地区控制地区设置setlocale 数字格式约定查询国家的货币、日期、时间等的格式转换localeconv 数学函数 本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51) 头文件math.h 函数列表 函数类别函数用途详细说明 错误条件处理定义域错误(函数的输入参数值不在规定的范围内) 值域错误(函数的返回值不在规定的范围内) 三角函数反余弦acos 反正弦asin

反正切atan 反正切2 atan2 余弦cos 正弦sin 正切tan 双曲函数双曲余弦cosh 双曲正弦sinh 双曲正切tanh 指数和对数指数函数exp 指数分解函数frexp 乘积指数函数fdexp 自然对数log 以10为底的对数log10 浮点数分解函数modf 幂函数幂函数pow 平方根函数sqrt 整数截断,绝对值和求余数函数求下限接近整数ceil 绝对值fabs 求上限接近整数floor 求余数fmod 本分类函数用于实现在不同底函数之间直接跳转代码。头文件setjmp.h io.h 函数列表 函数类别函数用途详细说明 保存调用环境setjmp 恢复调用环境longjmp 信号处理 该分类函数用于处理那些在程序执行过程中发生例外的情况。 头文件signal.h 函数列表 函数类别函数用途详细说明 指定信号处理函数signal 发送信号raise 可变参数处理 本类函数用于实现诸如printf,scanf等参数数量可变底函数。

数据库常用函数

数据库常用函数

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份和还原 备份:exp dsscount/sa@dsscount owner=dsscount file=C:\dsscount_data_backup\dsscount.dmp log=C:\dsscount_data_backup\outputa.log 还原:imp dsscount/sa@dsscount file=C:\dsscount_data_backup\dsscount.dmp full=y ignore=y log=C:\dsscount_data_backup\dsscount.log statistics=none 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) CREATE TABLE ceshi(id INT not null identity(1,1) PRIMARY KEY,NAME VARCHAR(50),age INT) id为主键,不为空,自增长 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围

C、C++头文件、库函数说明

C/C++头文件说明 1.概述 C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。形式的标准头文件【例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h形式的标准C库头文件名。 C++标准库的内容分为10类: C1.语言支持 C2.输入/输出 C3.诊断 C4.一般工具 C5.字符串 C6.容器 C7.迭代器支持 C8.算法 C9.数值操作 C10.本地化 C1 标准库中与语言支持功能相关的头文件头文件描述 定义宏NULL和offsetof,以及其他标准类型size_t和ptrdiff_t。与对应的标准C头文件的区别是,NULL是C++空指针常量的补充定义,宏offsetof接受结构或者联合类型参数,只要他们没有成员指针类型的非静态成员即可。 提供与基本数据类型相关的定义。例如,对于每个数值数据类型,它定义了可以表示出来的最大值和最小值以及二进制数字的位数。 提供与基本整数数据类型相关的C样式定义。这些信息的C++样式定义在 提供与基本浮点型数据类型相关的C样式定义。这些信息的C++样式定义在 提供支持程序启动和终止的宏和函数。这个头文件还声明了许多其他杂项函数,例如搜索和排序函数,从字符串转换为数值等函数。它与对应的标准C头文件stdlib.h 不同,定义了abort(void)。abort()函数还有额外的功能,它不为静态或自动对象调用析构函数,也不调用传给atexit()函数的函数。它还定义了exit()函数的额外功能,可以释放静态对象,以注册的逆序调用用atexit()注册的函数。清除并关闭所有打开的C流,把控制权返回给主机环境。 支持动态内存分配 支持变量在运行期间的类型标识 支持异常处理,这是处理程序中可能发生的错误的一种方式 支持接受数量可变的参数的函数。即在调用函数时,可以给函数传送数量不等的数据项。它定义了宏va_arg、va_end、va_start以及va_list类型 为C样式的非本地跳跃提供函数。这些函数在C++中不常用

c++常用函数大全

数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度 double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度 double hypot(double x,double y) 返回直角三角形斜边的长度(z), x和y为直角边的长度,z2=x2+y2 double ceil(double x) 返回不小于x的最小整数 double floor(double x) 返回不大于x的最大整数 void srand(unsigned seed) 初始化随机数发生器 int rand() 产生一个随机数并返回这个数 double poly(double x,int n,double c[])从参数产生一个多项式 double modf(double value,double *iptr)将双精度数value分解成尾数和阶 double fmod(double x,double y) 返回x/y的余数 double frexp(double value,int *eptr) 将双精度数value分成尾数和阶 double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数 double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数 double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数 char *ecvt(double value,int ndigit,int *decpt,int *sign) 将浮点数value转换成字符串并返回该字符串

c标准库函数大全

absread()读磁盘绝对扇区函数 原形:int absread(int drive,int num,int sectnum,void *buf) 功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。 参数:drive=0对应A盘,drive=1对应B盘。 返回值:0:成功;-1:失败。 头文件:dos.h abswrite()写磁盘绝对扇区函数 原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驱动器)、1(B驱动器)、 nsects=要写的扇区数(最多64K个); lsect=起始逻辑扇区号; buffer=要写入数据的内存起始地址。 功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。 返回值:0:成功;-1:失败。 头文件:dos.h atof()将字符串转换成浮点数的函数 原形:double atof(const char *s) 功能:把s所指向的字符串转换成double类型。 s格式为:符号数字.数字E符号数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h atoi()将字符串转换成整型数的函数 原形:int atoi(const char *s) 功能:把s所指向的字符串转换成int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h atol()将字符串转换成长整型数的函数 原形:long atol(const char *s) 功能:把s所指向的字符串转换成long int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h bcd()把一个数转换成对应的BCD码的函数 原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)

库文件,头文件,库函数,系统调用函数

头文件和库文件的区别:头文件中有函数的申明,库文件实现函数的定义。比如,printf函数。使用时应包括stdio.h,打开stdio.h你只能看到,printf这个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库中。而库 文件一般是以二进制形式而不是C源文件形式提供给用户使用的。程序中包括 了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函数的实 现并链接进这个程序代码段里。总结起来就是,库文件通过头文件向外导出接口。用户通过头文件找到库文件中函数实现的代码从而把这段代码链接到用户程序 中去。库文件:是C已经封装好的一些基本算法功能。你只需引入相应库文件 的头文件,调用库文件的函数接口就可以实现相应的功能。 头文件:你调用库文件里的函数就的调入相应的头文件.而且头文件你也可以自 己定义。 简单说,头文件可以是库文件,也可以自己定义 库函数和系统调用函数的区别: 所谓系统调用,就是内核提供的、功能十分强大的一系列的函数。这些系统调用是在内核中实现的,再通过一定的方式把系统调用给用户,一般都通过门(gate)陷入(trap)实现。系统调用是用户程序和内核交互的接口。 人们在长期编程中发现使用系统调用有个重大的缺点,那就程序的移植性,比如说:linux系统提供的系统调用的函数和windows就不一样,2者不单单是实现 的方式不同,提供给用户的函数名,参数都不同,这个可以理解。因此一个实现好的程序,利用了linux的系统调用譬如说wait4函数,那么他在windows上编译是通不过的。于是人们想了个办法,就是封装了windows和linux系统调用,给大家一个统一的函数(我习惯叫它接口),那么这样程序的移植性问题就解决了。 所以可以这么认为库函数是对系统调用的封装(不是所有的库函数都是),为的是解决一些公共的问题和提供统一的系统调用的接口,他和系统调用的优缺点就是:系统调用速度是明显要快于库函数(并不一定全部是,但绝大部分是),但系统调用缺乏移植性。库函数速度要慢,但解决了移植问题。这些在开发过程中要根据自己的实际情况来决定使用那一个。 整个系统调用的过程可以总结如下: 1.执行用户程序(如:fork) 2.根据glibc中的函数实现,取得系统调用号并执行int $0x80产生中断。3.进行地址空间的转换和堆栈的切换,执行SAVE_ALL。(进行内核模式)4.进行中断处理,根据系统调用表调用内核函数。 5.执行内核函数。 6.执行RESTORE_ALL并返回用户模式

C51库函数详解

_chkfloat_: 函数定义: unsigned char _chkfloat_ ( float val); /* number to check */ 函数功能: _chkfloat_函数检查浮点数val 的类型。 返回值: _chkfloat_函数返回浮点数val 的类型。 返回值意义 0 标准浮点数 1 浮点0 2 +INF 正溢出 3 -INF 负溢出 4 NaN 非数 函数测试: #include #include /* 本实验测试本征库中的_chkfloat_函数 函数定义:unsigned char _chkfloat_(float val); 返回值: Return Value Meaning 0 Standard floating-point number. 1 Floating-point value 0. 2 +INF (positive overflow).

3 -INF (negative overflow). 4 NaN (Not a Number) error status. 用P1指示返回值 */ unsigned char f[4]={0xff,0xff,0xff,0xff}; void delay(unsigned int time) { while(time--); } void main() { P2=~_chkfloat_(1.2455); //Standard floating-point number. delay(50000); P2=~_chkfloat_(0.00); //Floating-point value 0. delay(50000); P2=~_chkfloat_(1000000000000000000000000000000000000000000000000000000000000000.0000 000000); //+INF (positive overflow). delay(50000); P2=~_chkfloat_(-1000000000000000000000000000000000000000000000000000000000000000.000 0000000); //-INF (negative overflow). delay(50000); P2=~_chkfloat_(*((float *)f)); //NaN (Not a Number) error status. while(1);

C语言常用的库函数

库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并 提供给用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的 编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSI C标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供 的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本附录 列出ANSI C建议的常用库函数。 由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、 与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不 能全部介绍,只从教学需要的角度列出最基本的。读者在编写C程序时可根据 需要,查阅有关系统的函数使用手册。 1.数学函数 使用数学函数时,应该在源文件中使用预编译命令: #include或#include "math.h" 函数名函数原型功能返回值 acos double acos(double x);计算arccos x的值,其中-1<=x<=1计算结果 asin double asin(double x);计算arcsin x的值,其中-1<=x<=1计算结果 atan double atan(double x);计算arctan x的值计算结果 atan2double atan2(double x, double y);计算arctan x/y的值计算结果 cos double cos(double x);计算cos x的值,其中x的单位为弧度计算结果 cosh double cosh(double x);计算x的双曲余弦cosh x的值计算结果 exp double exp(double x);求e x的值计算结果

STC库函数使用参考

STC库函数使用参考 版本:V10 日期:2013-5-28 编写:STC公司 基本说明: 本函数库适用于STC/IAP15F/L2K61S2系列MCU,具体的MCU的资源,请参考用户手册中对应的章节。 使用以下的库函数,都必须包含“config.h”文件,里面包含了“STC15Fxxxx.H”头文件。 在自己的工程中,加入库函数文件,并且在使用库函数的C文件中,包含对应的头文件。 这个文档仅仅解释各个库函数里的参数定义和取值,具体的应用例子,请参考例程。 相关功能的具体描述,请参考用户手册。 函数目录 IO口初始化函数:GPIO_Inilize ---------------------------------------------------------------------------------------- 2 定时器初始化函数:Timer_Inilize ------------------------------------------------------------------------------------ 3 ADC初始化函数:ADC_Inilize ------------------------------------------------------------------------------------------ 4 ADC电源控制函数:ADC_PowerControl ----------------------------------------------------------------------------- 6 ADC查询转换函数:Get_ADC10bitResult --------------------------------------------------------------------------- 6 通用软件延时函数:delay_ms ----------------------------------------------------------------------------------------- 7 串口初始化函数:USART_Configuration ---------------------------------------------------------------------------- 7 串口1写缓冲函数:TX1_write2buff -------------------------------------------------------------------------------- 9 串口2写缓冲函数:TX2_write2buff ------------------------------------------------------------------------------ 10 串口1写数据块函数:PrintString1 -------------------------------------------------------------------------------- 10 串口2写数据块函数:PrintString2 -------------------------------------------------------------------------------- 10 模拟串口字节发送函数:TxSend ----------------------------------------------------------------------------------- 10 模拟串口写数据块函数:PrintString ------------------------------------------------------------------------------- 11 EEPROM多字节读函数:EEPROM_read_n ----------------------------------------------------------------------- 11 EEPROM多字节写函数:EEPROM_write_n ---------------------------------------------------------------------- 11 EEPROM扇区擦除函数:EEPROM_SectorErase ---------------------------------------------------------------- 12 PCA初始化函数:PCA_Init ------------------------------------------------------------------------------------------- 12 PWM更新占空比函数:UpdatePwm ----------------------------------------------------------------------------- 15 外中断初始化函数:Ext_Inilize ------------------------------------------------------------------------------------- 15

C语言中最常用标准库函数 - candyliuxj - CSDN博客

C语言中最常用标准库函数- candyliuxj - CSDN博客 C语言中最常用标准库函数收藏 标准头文件包括: <asset.h> <ctype.h> <errno.h> <float.h> <limits.h> <locale.h> <math.h> <setjmp.h> <signal.h> <stdarg.h> <stddef.h> <stdlib.h> <stdio.h> <string.h> <time.h> 一、标准定义(<stddef.h>) 文件<stddef.h>里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,<stddef.h>都会被自动包含进来。 这个文件里定义: l 类型size_t (sizeof运算符的结果类型,是某个无符号整型); l 类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);

l 类型wchar_t (宽字符类型,是一个整型,其中足以存放本系统所支持的所有本地环境中的 字符集的所有编码值。这里还保证空字符的编码值为0); l 符号常量NULL (空指针值); l 宏offsetor (这是一个带参数的宏,第一个参数应是一个结构类型,第二个参数应是结构 成员名。offsetor(s,m)求出成员m在结构类型t的变量里的偏移量)。 注:其中有些定义也出现在其他头文件里(如NULL)。 二、错误信息(<errno.h>) <errno.h>定义了一个int类型的表达式errno,可以看作一个变量,其初始值为0,一些标准库函数执行中出错时将它设为非0值,但任何标准库函数都设置它为0。 <errno.h>里还定义了两个宏EDOM和ERANGE,都是非0的整数值。数学函数执行中遇到参数错误,就会将errno 置为EDOM,如出现值域错误就会将errno置为ERANGE。 三、输入输出函数(<stdio.h>) 文件打开和关闭: FILE *fopen(const char *filename, const char *mode); int fclose(FILE * stream);

STM32函数库的调用

STM32函数库的调用 一·时钟配置.c void RCC_Configuration(void) { /*将外设RCC寄存器重设为缺省值*/ RCC_DeInit(); /*设置外部高速晶振(HSE)*/ RCC_HSEConfig(RCC_HSE_ON); //RCC_HSE_ON——HSE晶振打开(ON) /*等待HSE起振*/ HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus == SUCCESS) //SUCCESS:HSE晶振稳定且就绪 { /*设置AHB时钟(HCLK)*/ RCC_HCLKConfig(RCC_SYSCLK_Div1); //RCC_SYSCLK_Div1——AHB时钟= 系统时钟 /* 设置高速AHB时钟(PCLK2)*/ RCC_PCLK2Config(RCC_HCLK_Div1); //RCC_HCLK_Div1——APB2时钟= HCLK /*设置低速AHB时钟(PCLK1)*/ RCC_PCLK1Config(RCC_HCLK_Div2); //RCC_HCLK_Div2——APB1时钟= HCLK / 2 /*设置FLASH存储器延时时钟周期数*/ FLASH_SetLatency(FLASH_Latency_2); //FLASH_Latency_2??2延时周期 /*选择FLASH预取指缓存的模式*/ FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); // 预取指缓存使能/*设置PLL时钟源及倍频系数*/ RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); // PLL的输入时钟= HSE时钟频率;RCC_PLLMul_9——PLL输入时钟x 9 /*使能PLL */ RCC_PLLCmd(ENABLE); /*检查指定的RCC标志位(PLL准备好标志)设置与否*/ while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { } /*设置系统时钟(SYSCLK)*/ RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//RCC_SYSCLKSource_PLLCLK ——选择PLL作为系统时钟 /* PLL返回用作系统时钟的时钟源*/ while(RCC_GetSYSCLKSource() != 0x08) //0x08:PLL作为系统时钟 {

常用库函数大全

分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F),返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n'), 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中 double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回x的开方 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度 double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度 double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度 double hypot(double x,double y) 返回直角三角形斜边的长度(z), x和y为直角边的长度,z2=x2+y2

相关文档
最新文档