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字符* 入口参数:INT8UValue:十六进制数值0-F* 出口参数:对应ASCII字符*******************************************************************/INT8Uf_ToAscii(INT8U Value){if (Value <= 9)return (Value + '0');elsereturn (Value + 'A' - 10);};/******************************************************************** 函数功能:将ASCII字符转换为数字'0'-'9'转为0x00-0x09,'A'-'F'或'a'-'f'转为0x0A-0x0F,其它返回0* 入口参数:INT8UValue:可见字符* 出口参数:表示数值*******************************************************************/INT8Uf_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);elsereturn0x00;};/******************************************************************** 函数功能:将数字转换为字符串,最长5字符,最短3字符* 入口参数:INT16UValue:将要被转换为字符串的数值INT8U*pBuf:保存字符串指针* 出口参数:返回转换字符串长度*******************************************************************/INT8Uf_ToStr(INT16U Value, INT8U *pBuf){INT16UTemp;INT8ULength= 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';returnLength+3;};
11、新建一个文件,取名:Lib.h,这稍僚敉视个是库文件的输出文件,告诉引用者,库中都有那些函数可用,内容如下:#ifndefLIB_Public#defineLIB_Publictypedef unsigned charINT8U;// 无符号8位整型变量typedef unsigned intINT16U;// 无符号16位整型变量typedef signed longINT32U;extern volatile INT32UMS;/******************************************************************** 函数功能:将数字转换为ASCII字符* 入口参数:INT8UValue:十六进制数值0-F* 出口参数:对应ASCII字符*******************************************************************/INT8Uf_ToAscii(INT8U Value);/******************************************************************** 函数功能:将ASCII字符转换为数字'0'-'9'转为0x00-0x09,'A'-'F'或'a'-'f'转为0x0A-0x0F,其它返回0* 入口参数:INT8UValue:可见字符* 出口参数:表示数值*******************************************************************/INT8Uf_ToInt(INT8U Value);/******************************************************************** 函数功能:将数字转换为字符串,最长5字符,最短3字符* 入口参数:INT16UValue:将要被转换为字符串的数值INT8U*pBuf:保存字符串指针* 出口参数:返回转换字符串长度*******************************************************************/INT8Uf_ToStr(INT16U Value, INT8U *pBuf);#endif
12、将文件保存,在保存文件时,特别注意:钩选Add file to Project,不然,文件不会出现在工程中。
13、大功告成,直接编译就可以了,库文件已经生成。