Keil5 中如何生成和调用lib文件


 

Keil 下生成LIB库文件以及如何使用LIB库文件

如何生成LIB库文件?

1.   首先准备好生成LIB库文件对应的.c和.h文件,我这里用到的.c和.h文件分别是:

commLib.h:

 

  1. /*======================================================*/  
  2. /* 延时函数,单位ms                                        */  
  3. /* 晶振频率为11.0592MHz时延时1ms子程序                     */  
  4. /*======================================================*/  
  5. void delay(int ms);  
  6.   
  7. /*======================================================*/  
  8. /* 循环左移函数   2015年7月27日 21:34:44                 */  
  9. /*======================================================*/  
  10. unsigned char ccCrol(unsigned char org, unsigned char bitNum);  
  11.   
  12. /*======================================================*/  
  13. /* 循环右移函数   2015年7月29日 21:40:39                 */  
  14. /*======================================================*/  
  15. unsigned char ccCror(unsigned char org, unsigned char bitNum);  
/*======================================================*/
/* 延时函数,单位ms										*/
/* 晶振频率为11.0592MHz时延时1ms子程序 					*/
/*======================================================*/
void delay(int ms);

/*======================================================*/
/* 循环左移函数	2015年7月27日 21:34:44			 		*/
/*======================================================*/
unsigned char ccCrol(unsigned char org, unsigned char bitNum);

/*======================================================*/
/* 循环右移函数	2015年7月29日 21:40:39		 			*/
/*======================================================*/
unsigned char ccCror(unsigned char org, unsigned char bitNum);

 

commLib.c:

 

  1. /*======================================================*/  
  2. /* 延时函数,单位ms                                        */  
  3. /* 晶振频率为11.0592MHz时延时1ms子程序                     */  
  4. /*======================================================*/  
  5. void delay(int ms)  
  6. {  
  7.     int i, j;  
  8.   
  9.     for (i = ms; i > 0; i--)  
  10.     {  
  11.         for (j = 110; j > 0; j--)  
  12.         {  
  13.         }  
  14.     }  
  15. }  
  16.   
  17. /*======================================================*/  
  18. /* 循环左移函数   2015年7月27日 21:34:44                 */  
  19. /*======================================================*/  
  20. unsigned char ccCrol(unsigned char org, unsigned char bitNum)  
  21. {  
  22.     unsigned char i;  
  23.     unsigned char high, low;  
  24.     unsigned char after = org;  
  25.       
  26.     for (i = 0; i < bitNum; i++)  
  27.     {  
  28.         high = after & 0x80;  
  29.         low = high >> 0x07;  
  30.         after <<= 0x01;  
  31.         after |= low;  
  32.     }  
  33.       
  34.     return after;  
  35. }  
  36.   
  37. /*======================================================*/  
  38. /* 循环右移函数   2015年7月29日 21:40:39                 */  
  39. /*======================================================*/  
  40. unsigned char ccCror(unsigned char org, unsigned char bitNum)  
  41. {  
  42.     unsigned char i;  
  43.     unsigned char high, low;  
  44.     unsigned char after = org;  
  45.       
  46.     for (i = 0; i < bitNum; i++)  
  47.     {  
  48.         low = after & 0x01;  
  49.         high = low << 0x07;  
  50.         after >>= 0x01;  
  51.         after |= high;  
  52.     }  
  53.       
  54.     return after;  
  55. }  
/*======================================================*/
/* 延时函数,单位ms										*/
/* 晶振频率为11.0592MHz时延时1ms子程序 					*/
/*======================================================*/
void delay(int ms)
{
	int i, j;

	for (i = ms; i > 0; i--)
	{
		for (j = 110; j > 0; j--)
		{
		}
	}
}

/*======================================================*/
/* 循环左移函数	2015年7月27日 21:34:44		 			*/
/*======================================================*/
unsigned char ccCrol(unsigned char org, unsigned char bitNum)
{
	unsigned char i;
	unsigned char high, low;
	unsigned char after = org;
	
	for (i = 0; i < bitNum; i++)
	{
		high = after & 0x80;
		low = high >> 0x07;
		after <<= 0x01;
		after |= low;
	}
	
	return after;
}

/*======================================================*/
/* 循环右移函数	2015年7月29日 21:40:39		 			*/
/*======================================================*/
unsigned char ccCror(unsigned char org, unsigned char bitNum)
{
	unsigned char i;
	unsigned char high, low;
	unsigned char after = org;
	
	for (i = 0; i < bitNum; i++)
	{
		low = after & 0x01;
		high = low << 0x07;
		after >>= 0x01;
		after |= high;
	}
	
	return after;
}

 

 

2.        新建一个项目,将这两个文件添加到袄项目中,并做以下设置:

选中Create Library

 

 

 

3.        编译之后就可在项目目录下生成对应的.LIB库文件了。

 

 

 

如何使用LIB库文件呢?

1.        新建一个项目,然后在你的项目中包含LIB库文件对应的头文件commLib.h。

如图:

 

2.        添加LIB库文件到项目中:

 

然后选择你要添加的LIB库文件:

 

 

添加完成之后就可以在项目中看到对应的库文件了:

 

3.        编译项目就OK了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM