MPLAB IDE 制作库文件
1、我们先来新建一个工程项目,打开项目向导

2、之后,我们要选择使用的器件

3、选择使用的编译语言

4、给项目起一个名字,并确定保存地址

5、给项目添加文件,如果你已经 写好源码,可以在此步骤中将它们添加进来

6、现在,项止目已经建立完成

7、接下来,我们要对项目的设置做一些更改,在刚建立的项目根文件上点击右键,可以弹出项目配置菜单,选择:Build Option

8、点选ASM30/C30 Suite选项卡,点选:Build library target,应用

9、点选Direcories选项卡,选择:Include Search Path,新建一个搜索目录,工程可以在这个目录中查找包含文件

10、新建一个文件,取名Lib.c,内容如下:
#include <Lib.h>
/******************************************************************** 函数功能:将数字转换为ASCII字符* 入口参数:INT8U Value: 十六进制数值0-F* 出口参数:对应ASCII字符*******************************************************************/INT8U f_ToAscii(INT8U Value){ if (Value <= 9) return (Value + '0'); else return (Value + 'A' - 10);};
/******************************************************************** 函数功能:将ASCII字符转换为数字 '0'-'9'转为0x00-0x09,'A'-'F'或'a'-'f'转为0x0A-0x0F,其它返回0* 入口参数:INT8U Value: 可见字符* 出口参数:表示数值*******************************************************************/INT8U f_ToInt(INT8U Value){ if ((Value >= '0') & (Value <= '9')) return 泥雁倘(Value - '0'); else if ((Value >= 'A') & (Value <= 'F')) return (Value - 'A' + 0x0a); else if ((Value >= 'a') & (Value <= 'f')) return (Value - 'a' + 0x0a); else return 0x00;};
/******************************************************************** 函数功能:将数字转换为字符串,最长5字符,最短3字符舍鬼* 入口参数:INT16U Value: 将要被转换为字符串的数值 INT8U *pBuf: 保存字符串指针* 出口参数:返回转换字符串长度*******************************************************************/INT8U f_ToStr(INT16U Value, INT8U *pBuf){ INT16U Temp; INT8U Length = 0;
Temp = Value / 10000; Value = Value % 10000; if (Temp > 0) { *pBuf++ = Temp + '0'; Length++; } Temp = Value / 1000; Value = Value % 1000; if (Temp > 0) { *pBuf++ = Temp + '0'; Length++; } Temp = Value / 100; Value = Value % 100; *pBuf++ = Temp + '0'; Temp = Value / 10; *pBuf++ = Temp + '0'; Temp = Value % 10; *pBuf++ = Temp + '0';
return Length+3;};
11、新建一个文件,取名:Lib.h,这个是库文件的输出文件,告诉引用者,库中都有那些函数可用,内强醒容如下:
#ifndef LIB_Public #define LIB_Public
typedef unsigned char INT8U; // 无符号8位整型变量typedef unsigned int INT16U; // 无符号16位整型变量typedef signed long INT32U;
extern volatile INT32U MS;
/******************************************************************** 函数功能:将数字转换为ASCII字符* 入口参数:INT8U Value: 十六进制数值0-F* 出口参数:对应ASCII字符*******************************************************************/INT8U f_ToAscii(INT8U Value);
/******************************************************************** 函数功能:将ASCII字符转换为数字 '0'-'9'转为0x00-0x09,'A'-'F'或'a'-'f'转为0x0A-0x0F,其它返回0* 入口参数:INT8U Value: 可见字符* 出口参数:表示数值*******************************************************************/INT8U f_ToInt(INT8U Value);
/******************************************************************** 函数功能:将数字转换为字符串,最长5字符,最短3字符* 入口参数:INT16U Value: 将要被转换为字符串的数值 INT8U *pBuf: 保存字符串指针* 出口参数:返回转换字符串长度*******************************************************************/INT8U f_ToStr(INT16U Value, INT8U *pBuf);
#endif
12、将文件保存,在保存文件时,特别注意:钩选Add file to Project,不然,文件不会出现在工程中。

13、大功告成,直接编译就可以了,库文件已经生成。
