关于配置字问题

[复制链接]
5014|25
 楼主| 爱好学习者 发表于 2014-3-18 07:43 | 显示全部楼层 |阅读模式
我使用16F1527单片机,具有两个配置字,我写成
__CONFIG(1,0x12f2);
__CONFIG(2,0x12f2);
为什么报错啊?
Warning [171] E:\NS-001\NS_001_relate_program\Flash\flash.c; 4.18 wrong number of preprocessor macro arguments for "__CONFIG" (2 instead of 1)
Warning [171] E:\NS-001\NS_001_relate_program\Flash\flash.c; 5.18 wrong number of preprocessor macro arguments for "__CONFIG" (2 instead of 1)
Error   [0] E:\NS-001\NS_001_relate_program\Flash\flash.c; 4.29 Cannot use literal values (1) with __CONFIG(), use __PROG_CONFIG() instead
Error   [0] E:\NS-001\NS_001_relate_program\Flash\flash.c; 5.29 Cannot use literal values (2) with __CONFIG(), use __PROG_CONFIG() instead
(908) exit status = 1
zhengzhou86 发表于 2014-3-18 17:01 | 显示全部楼层
你用的应该是XC编译器改成这个
_PROG_CONFIG(1,0x12f2);
_PROG_CONFIG(2,0x12f2);
如果是HI-TECH
__CONFIG(0x12f2);
__CONFIG(0x12f2);
 楼主| 爱好学习者 发表于 2014-3-18 18:07 | 显示全部楼层
zhengzhou86 发表于 2014-3-18 17:01
你用的应该是XC编译器改成这个
_PROG_CONFIG(1,0x12f2);
_PROG_CONFIG(2,0x12f2);

改成__PROG是可以,但是显示
configuration setting/register of "CONFIG2" with 0x12F2 will be truncated by 0x3E13,
改如何解决?
 楼主| 爱好学习者 发表于 2014-3-21 10:42 | 显示全部楼层
没人知道吗?
yklstudent 发表于 2014-3-21 18:12 | 显示全部楼层
看手册都有提示的
__CONFIG();
__CONFIG();
这样不就可以了
Rain_King 发表于 2014-3-22 09:18 | 显示全部楼层
直接在IDE里面设置配置位不就可以了么...
yewuyi 发表于 2014-3-23 17:39 | 显示全部楼层
不是已经提示你了吗?

----------------------------
Error   [0] E:\NS-001\NS_001_relate_program\Flash\flash.c; 4.29 Cannot use literal values (1) with __CONFIG(), use __PROG_CONFIG() instead
Error   [0] E:\NS-001\NS_001_relate_program\Flash\flash.c; 5.29 Cannot use literal values (2) with __CONFIG(), use __PROG_CONFIG() instead
----------------------------

use __PROG_CONFIG() instead,这句的意思就是用这个宏指令代替。
 楼主| 爱好学习者 发表于 2014-3-24 07:34 | 显示全部楼层
yewuyi 发表于 2014-3-23 17:39
不是已经提示你了吗?

----------------------------

我上面不是说了吗,用_PROG_CONFIG()出现configuration setting/register of "CONFIG2" with 0x12F2 will be truncated by 0x3E13,这个问题吗
 楼主| 爱好学习者 发表于 2014-3-24 07:35 | 显示全部楼层
Rain_King 发表于 2014-3-22 09:18
直接在IDE里面设置配置位不就可以了么...

就是想直接在程序中配置,如果直接在那里面设置,我不就不问了吗
 楼主| 爱好学习者 发表于 2014-3-24 07:38 | 显示全部楼层
yklstudent 发表于 2014-3-21 18:12
看手册都有提示的
__CONFIG();
__CONFIG();

试过了,还是有问题
Rain_King 发表于 2014-3-24 08:17 | 显示全部楼层
爱好学习者 发表于 2014-3-24 07:38
试过了,还是有问题

错位提示过你了.....很明显的提示啊...
Error   [0] E:\NS-001\NS_001_relate_program\Flash\flash.c; 4.29 Cannot use literal values (1) with __CONFIG(), use __PROG_CONFIG() instead
Error   [0] E:\NS-001\NS_001_relate_program\Flash\flash.c; 5.29 Cannot use literal values (2) with __CONFIG(), use __PROG_CONFIG() instead
 楼主| 爱好学习者 发表于 2014-3-24 13:01 | 显示全部楼层
Rain_King 发表于 2014-3-24 08:17
错位提示过你了.....很明显的提示啊...
Error   [0] E:\NS-001\NS_001_relate_program\Flash\flash.c; 4. ...

我上面说的难道是如此的不明确,我说过了我改成__PROG_CONFIG()之后,出现configuration setting/register of "CONFIG2" with 0x12F2 will be truncated by 0x3E13这个问题,我就是在咨询这个问题如何解决
Rain_King 发表于 2014-3-25 09:04 | 显示全部楼层
爱好学习者 发表于 2014-3-24 13:01
我上面说的难道是如此的不明确,我说过了我改成__PROG_CONFIG()之后,出现configuration setting/registe ...

提示被截断,不太明白.......希望大大们来解决一下....
 楼主| 爱好学习者 发表于 2014-3-25 11:12 | 显示全部楼层
我也是不理解为什么所以才寻求帮助啊,希望各位大神能给个明确的答案
 楼主| 爱好学习者 发表于 2014-3-26 10:09 | 显示全部楼层
 楼主| 爱好学习者 发表于 2014-3-28 10:04 | 显示全部楼层
 楼主| 爱好学习者 发表于 2014-3-29 12:43 | 显示全部楼层
大神都去哪了?
philzhao 发表于 2014-3-29 14:28 | 显示全部楼层
爱好学习者 发表于 2014-3-24 13:01
我上面说的难道是如此的不明确,我说过了我改成__PROG_CONFIG()之后,出现configuration setting/registe ...

config(2)   2-3为1   5-8为1
philzhao 发表于 2014-3-29 14:33 | 显示全部楼层
philzhao 发表于 2014-3-29 14:28
config(2)   2-3为1   5-8为1

bit 8-5 未实现:读为 1     bit 3-2 未实现:读为 1
 楼主| 爱好学习者 发表于 2014-3-29 16:06 | 显示全部楼层
philzhao 发表于 2014-3-29 14:33
bit 8-5 未实现:读为 1     bit 3-2 未实现:读为 1

我这个只是随便写的一个,但是我就是按照正常配置,也会出现同样的问题,所以说这并不是根本原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

73

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部