Keil中LIB库的作用、生成与调用<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
LIB库有什么用,一个简单的例子就是Silicon Labs为C<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />8051F单片机USB提供的USBXpress LIB库了,如USB发送数据、接收数据等,都是通用性很强的函数,但因为保密的原因,这个函数是怎么写的,用户是不知道的,只提供接口的API函数,只要调用这些函数即可完成相应功能。
下面以自己开发的NOKIA5110液晶的驱动程序演示一下LIB库德生成与调用。
target里面”Options for Target ’Target 1’”里面的output选择create library
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
(这里可以没有main主函数和一些管脚的定义等,只是NOKIA5110驱动函数)。
点击Rebuild all the target files,就生成.lib文件。
把上面的工程生成的.LIB文件放入新的文件夹里,在这个文件夹编写一个调用LIB库的程序。把.LIB文件添加到工程里面去,在工程里的H头文件里对NOKIA5110.LIB里的函数进行声明,这样主函数就能调用.LIB里的NOKIA5110的驱动函数了。
LIB库文件生成调用演示程序:https://static.assets-stash.eet-china.com/album/old-resources/2010/4/19/a8cfdeaf-c1e1-4b2f-8d66-fb3fbc02504c.rar
BTW:在Keil C中调用USBXpress的函数也是上面的办法,但如果编译器用的Silicon Laboratories IDE的时候要注意添加.LIB库德步骤就不一样了。
Silicon labs的这个IDE其实也就是一个壳,编译程序之前要设置好调用keil编译核心的路径。
Project——Tool Chain Integration
Silicon Laboratories IDE LIB库文件的调用
1. Project -> Target Build Configuration -> Customize -> Files to Link -> Add External OBJ
2.在 'List files of type' drop-down box from 'Object Files' 选择'All files'类型,. 选择要添加的LIB文件。
3. 点击 OK.
本文参考:
1) How to use USB_Clock_Start() in firmware
http://www.cygnal.org/ubb/Forum9/HTML/000844.html
http://blog.ednchina.com/Alexi2008/224810/message.aspx
用户1621976 2011-8-4 22:26
用户944075 2011-5-27 10:33
用户152403 2010-9-9 16:13
用户1480057 2010-7-16 11:42
用户280983 2010-5-12 14:19
tengjingshu_112148725 2010-5-11 22:15
用户280983 2010-5-11 15:32
用户280983 2010-5-11 15:23
tengjingshu_112148725 2010-5-10 22:23
用户280983 2010-5-10 11:59