printf(\,buf,i); }
4. 参 阅 xtoi( ),atof( ),atol( ) 5. 返回值 返回一个有符号的整数。如果在字符串中没有发现任何数字,则返回0。
9 ATOL函数
1.提 要
#include
long atol (const char * s) 2.描 述 atol( )函数扫描传递过来的字符串,并跳过字符串开头的空格;然后将十进制数的ASCII
表达式转换成长整型。 3.例 程
#include
main (void) {
char buf[80]; long i; gets(buf); i = atol(buf);
printf(\,buf,i); }
4.参 阅 atoi( ),atof( ) 5.返回值 返回一个长整型数。如果字符串中没有发现任何数字,返回值为0。
10 CEIL函数
1. 提 要
#include
#include
6
void
main (void) {
double j;
scanf(\,&j);
printf(\,j,ceil(j)); }
11 COS函数
1. 提 要
#include
#include
#define C 3.141592/180.0 void
main (void) {
double i;
for(i = 0;i <= 180.0;i += 10)
printf(\,cos = %f\\n\,i,sin(i*C),cos(i*C)); }
4. 参 阅 sin( ),tan( ),asin( ),acos( ),atan( ),atan2( ) 5. 返回值 返回一个双精度数,区间为[-1,1]。
12 COSH、SINH、TANH函数
1. 提 要
#include
#include
7
#include
main (void) {
printf(\,cosh(1.5)); printf(\,sinh(1.5)); printf(\,tanh(1.5)); }
4. 返回值 cosh( )函数返回双曲余弦值,sinh( )函数返回双曲正弦值,tanh( )函数返回双曲正切值。
13 CTIME函数
1. 提 要
#include
char * ctime (time_t * t) 2. 描 述 ctime( )函数将函数参数所指的时间转换成字符串,其结构与asctime( )函数所描述的相同,并且精确到秒。以下例程将打印出当前的时间和日期。 3. 例 程
#include
main (void) {
time_t clock; time(&clock);
printf(\,ctime(&clock)); }
4. 参 阅 gmtime( ),localtime( ),asctime( ),time( ) 5. 返回值 本函数返回一个指向该字符串的指针。
注意:由于编译器不会提供time( )程序,故它需要由用户给定。详情请参阅time( )函数。
6. 数据类型 typedef long time_t
14 DI、EI函数
1. 提 要
#include
8
void di(void) 2. 描 述 ei( )和di( )函数分别实现全局中断使能和中断屏蔽,其定义在pic.h头文件中。它们将被扩展为一条内嵌的汇编指令,分别对中断使能位进行置位和清零。 以下例程将说明ei( )函数和di( )函数在访问一个长整型变量时的应用。由于中断服务程序将修改该变量,所以如果访问该变量不按照本例程的结构编程,一旦在访问变量值的连续字期间出现中断,则函数 getticks( ) 将返回错误的值。 3. 例 程
#include
void interrupt tick(void) {
count++; }
long getticks(void) {
long val; /*在访问count变量前禁止中断,保证访问的连续性*/ di( );
val = count; ei( );
return val; }
15 DIV函数
1. 提 要
#include
div_t div (int numer,int demon) 2. 描 述 div( )函数实现分子除以分母,得到商和余数。 3. 例 程
#include
main (void) {
div_t x;
x = div(12345,66);
printf(\,remainder = %d\\n\,x.quot,x.rem); } 4. 返回值 返回一个包括商和余数的结构体div_t。.
9
5. 数据类型
typedef struct {
int quot; int rem; } div_t;
16 EEPROM_READ、EEPROM_WRITE函数
1. 提 要
#include
unsigned char eeprom_read (unsigned char addr);
void eeprom_write (unsigned char addr,unsigned char value); 2. 描 述 这些函数允许访问片内EEPROM(如果片内有EEPROM)。EEPROM不是可直接寻址的寄存器空间,当需要访问EEPROM时,就需要将一些特定的字节序列加载到EEPROM控制寄存器中。写EEPROM是一个缓慢的过程。故eeprom_write( )函数在写入下一个数据前,会通过查询恰当的寄存器来确保前一个数据已经写入完毕。另外,读EEPROM可以在一个指令周期内完成,所以没有必要查询读操作是否完成。 3. 例 程
#include
main (void) {
unsigned char data; unsigned char address; address = 0x10;
data = eeprom_read(address); }
注意:如果调用eeprom_write( )函数后需即刻调用eeprom_read( )函数,则必须查询EEPROM寄存器以确保写入完毕。全局中断使能位(GIE)在eeprom_write( )程序中重新恢复(写EEPROM时需要关闭总中断)。而且,本函数不会清EEIF标志位。
17 EVAL_POLY函数
1. 提 要
#include
double eval_poly (double x,const double * d,int n) 2. 描 述 eval_poly( )函数将求解一个多项式的值。这个多项式的系数分别包含在x和数组d中,例如:
y = x*x*d2 + x*d1 + d0
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库PIC单片机的C语言应用下的函数库(2)在线全文阅读。
相关推荐: