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