4122|8

3471

帖子

13

TA的资源

五彩晶圆(高级)

楼主
 

mplab 不支持插入可执行c文件? [复制链接]

不知是我用的不对,还是mplab本身就这样。拿keil来说。在一段执行的程序中,可以include一个只有执行语句的单独的c文件。c文件里可以操作寄存器。这种c文件只是把一大串执行语句做成一个文件而已。避免主程序过长。这段程序,有时也不是某个函数。但这段内容会多次调用。就include一下,很方便。mplab,我用相同的方法。貌似不允许,mplab好像会单独编译这个c文件,发现寄存器的名字和主文件里重名了,于是报错。哎。它并不会因为这段c文件是插入主程序里的,而把这段代码放到主程序中整体编译。为什么要这样呢?
mplab,说句爱你真的不容易啊。

捕获.PNG (39.96 KB, 下载次数: 0)

捕获.PNG

捕获1.PNG (11.33 KB, 下载次数: 0)

捕获1.PNG

捕获2.PNG (89.25 KB, 下载次数: 0)

捕获2.PNG

最新回复

其实,真觉得还不如 #define AAAA() do{...}while(0)    详情 回复 发表于 2016-11-1 09:59
点赞 关注
 

回复
举报

3471

帖子

13

TA的资源

五彩晶圆(高级)

沙发
 

mplab 不支持插入可执行c文件?

本帖最后由 ienglgge 于 2016-10-30 14:59 编辑

不知是我用的不对,还是mplab本身就这样。拿keil来说。在一段执行的程序中,可以include一个只有执行语句的单独的c文件。c文件里可以操作寄存器。这种c文件只是把一大串执行语句做成一个文件而已。避免主程序过长。这段程序,有时也不是某个函数。但这段内容会多次调用。就include一下,很方便。mplab,我用相同的方法。貌似不允许,mplab好像会单独编译这个c文件,发现寄存器的名字和主文件里重名了,于是报错。哎。它并不会因为这段c文件是插入主程序里的,而把这段代码放到主程序中整体编译。为什么要这样呢?
mplab,说句爱你真的不容易啊。

捕获.PNG (39.96 KB, 下载次数: 0)

捕获.PNG

捕获1.PNG (11.33 KB, 下载次数: 0)

捕获1.PNG

捕获2.PNG (89.25 KB, 下载次数: 0)

捕获2.PNG
 
 
 

回复

1万

帖子

24

TA的资源

版主

板凳
 
MPLAB用的XC编译器,都是基于GCC的,语法比较严格。
 
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

4
 
为什么你要把一句代码,放到单独C文件?PIC本身和51中断、寄存器上操作不同,从而导致开发的IDE和keil操作也是有区别

点评

为了表现keil中,是可以插入可执行c文件,我临时写了一个。实际肯定会有比较多的代码,放到一个c文件里。寄存器操作就是给寄存器赋值,这个操作也有不同?我理解的开发环境的差异。  详情 回复 发表于 2016-10-31 20:34
 
 
 

回复

165

帖子

0

TA的资源

一粒金砂(中级)

5
 
估计makefile规则的问题,
include后缀名又不是非得.c

点评

给力啊。include .h文件,编译就通过啦,运行可以看到,h文件的内容执行了。谢谢啦。  详情 回复 发表于 2016-10-31 21:00
 
 
 

回复

3471

帖子

13

TA的资源

五彩晶圆(高级)

6
 
suoma 发表于 2016-10-30 15:49
为什么你要把一句代码,放到单独C文件?PIC本身和51中断、寄存器上操作不同,从而导致开发的IDE和keil操作 ...

为了表现keil中,是可以插入可执行c文件,我临时写了一个。实际肯定会有比较多的代码,放到一个c文件里。寄存器操作就是给寄存器赋值,这个操作也有不同?我理解的开发环境的差异。

点评

寻址不同  详情 回复 发表于 2016-10-31 22:25
 
 
 

回复

3471

帖子

13

TA的资源

五彩晶圆(高级)

7
 
EETUX 发表于 2016-10-31 09:06
估计makefile规则的问题,
include后缀名又不是非得.c

给力啊。include .h文件,编译就通过啦,运行可以看到,h文件的内容执行了。谢谢啦。

捕获5.PNG (21.47 KB, 下载次数: 0)

捕获5.PNG

点评

其实,真觉得还不如 #define AAAA() do{...}while(0)  详情 回复 发表于 2016-11-1 09:59
 
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

8
 
ienglgge 发表于 2016-10-31 20:34
为了表现keil中,是可以插入可执行c文件,我临时写了一个。实际肯定会有比较多的代码,放到一个c文件里。 ...

寻址不同
 
 
 

回复

165

帖子

0

TA的资源

一粒金砂(中级)

9
 
ienglgge 发表于 2016-10-31 21:00
给力啊。include .h文件,编译就通过啦,运行可以看到,h文件的内容执行了。谢谢啦。

其实,真觉得还不如
#define AAAA() do{...}while(0)  
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表