- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用MPLAB C30编译器制作自己的库文件.pdf
在 MPLAB C30的编译器下制作自己的库和使用方法
作者:不负责任的天使^_^
最近我学习了一下 gcc编译器,感觉 gcc很强大,感觉深不见底,很好的东西,里面有一个
制作自己的函数库,我非常感兴趣,同时,我是学习 pic单片起身的人,了解 pic系列单片
机 16位的人应该知道,16位的 pic单片机使用的是 C30 gcc编译器,gcc原有是 GNU组织推
出,GUN 是一个倡导软件程序源代码的自由的组织,现在有好多嵌入式编程都是开发环境
都使用的是 gcc编译器,并且大名鼎鼎的开源操作系统 Linux必需是使用 gcc编译器,同时
gcc 编译器通用性很强,可以经过改编适应其他的系统和一些硬件的使用,所以 gcc 编译器
的强大,不是我说的这一点点。下面介绍如何将创建自己的库和创建自己的库的意义及其应
用:
要想制作自己的库必需懂得一些 dos的命令操作,和 gcc编译器的一些简单命令,下面介绍
一些自作自己的库函数的一些设置:
①环境变量的设置,例如
在“CHL的用户变量“中改变”PATH“选项,添加上你安装 C30编译器的路径例如我的电脑
中是
PATH
G:\Program\UltraEdit\;G:\Program\MinGW\bin;G:\Program\Microchip\compiler\C30\bin;
然后还要新建一个 PIC30_C_INCLUDE_PATH
路 径 :
G:\Program\Microchip\compiler\C30\include;G:\Program\Microchip\compiler\C30\support\dsPI
C30F\h;(这两个文件目录都要加上)
以上的目录因 C30安装的不同而不同,要根据自己安装路径而设定
(如果你的原来 PATH路径中有东西,在原来的的基础上加上“;”然后在原来的路径上加上
你安装MPLAB C30编译器的路径,我的是 G:\Program\Microchip\compiler\C30\bin;设置这个
路径的目的是为了在使用 C30编译器是能找到 pic30-gcc.exe和 pic30-ar.exe(这个程序是制作
函数库用的,制作完成是*.a))
②创建一个项目,文件组成如下:
CommonFunction.c文件内容如下:
/*
*******************************************************************************
********************
CommonFunction.c
filename :CommonFunction.c
description :本文件是为了编写函数方便而建设的,以后在一般的文件中包含该文件即可,其
他工程即可使用
author :“不负责任的天使^_^”
*******************************************************************************
********************
*/
#include CommonFunction.h
/*---------------------------void delay1us(void)-------------------------------*/
//精确延时 1us
extern void delay1us(void)
{
//呼叫这个函数需要两个指令周期,返回还需要两个指令周期
Nop();Nop();Nop();Nop();Nop(); //软件精确延时 5个指令周期
Nop();Nop();Nop();Nop();Nop();
Nop();Nop();Nop();Nop();Nop();
Nop();
//Nop()延时 16个指令周期,加上函数的调用和返回正好 20个指令周期
}
/*-------------------------void delay(INT16U count)----------------------------*/
//延时函数
extern void delay(INT16U count)
{
while(count--) delay1us();
}
test.c文件内容如下:
/*
*******************************************************************************
****
您可能关注的文档
最近下载
- 咨询发布—2025年中国产教融合行业产业链全景分析及发展趋势预测.docx
- 光合作用(优秀公开课件)(共63张PPT).pptx VIP
- 人教A版高中数学必修第二册同步教材习题答案.doc VIP
- 金工深度研究:基于趋势和拐点的市值因子择时模型.docx VIP
- Iphone7如何下载旧版微信.pdf VIP
- 07S906 给水排水构筑物设计选用图 经典图集.pdf
- GB50654-2011 有色金属工业安装工程质量验收统一标准.pdf VIP
- 迅达3300AP电气原理图(中文精简版).pdf VIP
- 八大作业安全管理制度.pdf VIP
- 2024—2025学年江苏省宿迁市沭阳县怀文中学八年级上学期12月月考物理试卷.doc VIP
文档评论(0)