请教PIC16F193X的配置字写法和设置

[复制链接]
16727|32
 楼主| 我是土匪 发表于 2011-4-13 11:03 | 显示全部楼层 |阅读模式
PIC16F1937内部晶振,内部复位,用ICD2下载,编译环境是MPLAB IDE v8.33。

有2个问题,1是配置字写法,2是配置字设置是否正确。

一、PIC16F1937配置字有2个寄存器,CONFIG1和CONFIG2.

像下面这样写:
__CONFIG(1,0x0464); //配置字:
__CONFIG(2,0x1233); //配置字:

会有警告:
Warning [171] E:\project\code\pic16f1937\test.c; 8.18 wrong number of preprocessor macro arguments for "__CONFIG" (2 instead of 1)
Warning [171] E:\project\code\pic16f1937\test.c; 9.18 wrong number of preprocessor macro arguments for "__CONFIG" (2 instead of 1)

如果写成:
__CONFIG1(0x09e4); //配置字:
__CONFIG2(0x1233); //配置字:

会报错:
Error   [194] E:\project\code\pic16f1937\test.c; 8.11 ")" expected
Error   [194] E:\project\code\pic16f1937\test.c; 9.11 ")" expected

请问改怎么样去写。

2、配置字各个位,配置是否有错?
251566208 发表于 2011-4-13 11:10 | 显示全部楼层
把括号去掉看看是否可以
 楼主| 我是土匪 发表于 2011-4-13 11:13 | 显示全部楼层
请问您说的是哪个括号?
251566208 发表于 2011-4-13 11:15 | 显示全部楼层
数字外面的
 楼主| 我是土匪 发表于 2011-4-13 11:16 | 显示全部楼层
这样写
__CONFIG1,0x09e4; //配置字:
__CONFIG2,0x1233; //配置字:

结果如下:
Warning [374] E:\project\code\pic16f1937\test.c; 8.10 missing basic type; int assumed
Error   [285] E:\project\code\pic16f1937\test.c; 8.11 no identifier in declaration
Error   [314] E:\project\code\pic16f1937\test.c; 8.11 ";" expected
Warning [374] E:\project\code\pic16f1937\test.c; 9.10 missing basic type; int assumed
Error   [285] E:\project\code\pic16f1937\test.c; 9.11 no identifier in declaration
Error   [314] E:\project\code\pic16f1937\test.c; 9.11 ";" expected
251566208 发表于 2011-4-13 11:18 | 显示全部楼层
分号不要
 楼主| 我是土匪 发表于 2011-4-13 11:25 | 显示全部楼层
__CONFIG1 0x09e4 //配置字:
__CONFIG2 0x1233 //配置字:

__CONFIG1,0x09e4 //配置字:
__CONFIG2,0x1233//配置字:

__CONFIG  1,0x09e4 //配置字:
__CONFIG  2,0x1233 //配置字:

__CONFIG  1  0x09e4//配置字:
__CONFIG  2  0x1233//配置字:

上面几种组合均报错,请指点
251566208 发表于 2011-4-13 11:30 | 显示全部楼层
__CONFIG1 0x09e4
__CONFIG2  0x1233
 楼主| 我是土匪 发表于 2011-4-13 11:30 | 显示全部楼层
Warning [374] E:\project\code\pic16f1937\test.c; 16.11 missing basic type; int assumed
Error   [314] E:\project\code\pic16f1937\test.c; 16.11 ";" expected
Warning [374] E:\project\code\pic16f1937\test.c; 26.8 missing basic type; int assumed
Error   [984] E:\project\code\pic16f1937\test.c; 26.8 type redeclared
Error   [1098] E:\project\code\pic16f1937\test.c; 26.8 conflicting declarations for variable "OSCTUNE" (C:\Program Files\HI-TECH Software\PICC\9.81\include\pic16f1937.h:970)
Warning [374] E:\project\code\pic16f1937\test.c; 29.7 missing basic type; int assumed
Error   [984] E:\project\code\pic16f1937\test.c; 29.7 type redeclared
Error   [1098] E:\project\code\pic16f1937\test.c; 29.7 conflicting declarations for variable "PORTB" (C:\Program Files\HI-TECH Software\PICC\9.81\include\pic16f1937.h:297)
Warning [374] E:\project\code\pic16f1937\test.c; 30.8 missing basic type; int assumed
Error   [984] E:\project\code\pic16f1937\test.c; 30.8 type redeclared
Error   [1098] E:\project\code\pic16f1937\test.c; 30.8 conflicting declarations for variable "ANSELB" (C:\Program Files\HI-TECH Software\PICC\9.81\include\pic16f1937.h:1705)
Warning [374] E:\project\code\pic16f1937\test.c; 31.7 missing basic type; int assumed
Error   [984] E:\project\code\pic16f1937\test.c; 31.7 type redeclared
Error   [1098] E:\project\code\pic16f1937\test.c; 31.7 conflicting declarations for variable "TRISB" (C:\Program Files\HI-TECH Software\PICC\9.81\include\pic16f1937.h:668)
Error   [314] E:\project\code\pic16f1937\test.c; 31.7 ";" expected
Warning [374] E:\project\code\pic16f1937\test.c; 33.7 missing basic type; int assumed
Error   [984] E:\project\code\pic16f1937\test.c; 33.7 type redeclared
Error   [1098] E:\project\code\pic16f1937\test.c; 33.7 conflicting declarations for variable "PORTD" (C:\Program Files\HI-TECH Software\PICC\9.81\include\pic16f1937.h:349)
Warning [374] E:\project\code\pic16f1937\test.c; 34.7 missing basic type; int assumed
Error   [984] E:\project\code\pic16f1937\test.c; 34.7 type redeclared
Error   [1098] E:\project\code\pic16f1937\test.c; 34.7 conflicting declarations for variable "TRISB" (E:\project\code\pic16f1937\test.c:31)
Error   [314] E:\project\code\pic16f1937\test.c; 34.7 ";" expected
Warning [374] E:\project\code\pic16f1937\test.c; 35.8 missing basic type; int assumed
Error   [984] E:\project\code\pic16f1937\test.c; 35.8 type redeclared
Error   [1098] E:\project\code\pic16f1937\test.c; 35.8 conflicting declarations for variable "ANSELD" (C:\Program Files\HI-TECH Software\PICC\9.81\include\pic16f1937.h:1731)
Error   [285] E:\project\code\pic16f1937\test.c; 36.1 no identifier in declaration
Warning [374] E:\project\code\pic16f1937\test.c; 36.1 missing basic type; int assumed
Error   [314] E:\project\code\pic16f1937\test.c; 36.1 ";" expected
Warning [361] E:\project\code\pic16f1937\test.c; 56.1 function declared implicit int
yang010121 发表于 2011-4-13 21:08 | 显示全部楼层
菜鸟告诉你怎么弄,应该没问题的。

希望分配分数的时候多给点,哈哈

    __CONFIG _CONFIG1, _DEBUG_OFF & _LVP_OFF_CPD_OFF & _CP_OFF & 。。。。
    __CONFIG _CONFIG2, _WRT_ALL& __VCAPEN_RA0......
JayGong 发表于 2011-4-13 21:36 | 显示全部楼层
本帖最后由 JayGong 于 2011-4-13 21:38 编辑

这样写试试!应该没问题!

__CONFIG(0x0464);     //配置字:CONFIG1     0x8007
__CONFIG(0x1233);     //配置字:CONFIG2     0x8008
yang010121 发表于 2011-4-14 08:30 | 显示全部楼层
没搞过的不要乱说,程序的问题不是乱试验的,有固定的格式的。多逛逛类似的PIC论坛就得知了。
上面我已经说了正确的方法。
JayGong 发表于 2011-4-14 08:45 | 显示全部楼层
楼上怎么知道我没做过,我是这样用过才说的!
 楼主| 我是土匪 发表于 2011-4-14 09:19 | 显示全部楼层
最后验证通过做法:


__CONFIG(CLKOUTEN_OFF&BOREN_OFF&CP_OFF&CPD_OFF&MCLRE_ON & WDTE_OFF & FOSC_INTOSC & MCLRE_ON & VCAPEN_OFF & STVREN_ON & PLLEN_ON);
251566208 发表于 2011-4-14 10:21 | 显示全部楼层
昨天我们技术后来告诉我的也是这样的
yang010121 发表于 2011-4-15 08:25 | 显示全部楼层
最后验证通过做法:


__CONFIG(CLKOUTEN_OFF&BOREN_OFF&CP_OFF&CPD_OFF&MCLRE_ON & WDTE_OFF & FOSC_INTOSC & MCLRE_ON & VCAPEN_OFF & STVREN_ON & PLLEN_ON);
我是土匪 发表于 2011-4-14 09:19


晕了,你查看MPLAB根目录里面的PIC193X的模板了吗?
yang010121 发表于 2011-4-15 08:26 | 显示全部楼层
虽然是编译通过了,但是有可能能配置字是错的。
kvdong 发表于 2011-4-15 09:52 | 显示全部楼层
在PICC里 12楼的写法是对的
 楼主| 我是土匪 发表于 2011-4-15 12:54 | 显示全部楼层
这样写试试!应该没问题!

__CONFIG(0x0464);     //配置字:CONFIG1     0x8007
__CONFIG(0x1233);     //配置字:CONFIG2     0x8008
JayGong 发表于 2011-4-13 21:36




这样写,确实可以,个人理解是相当于把把一个寄存器赋值2次,如:

i = 9;
i = 2;
只有后者有效
 楼主| 我是土匪 发表于 2011-4-15 12:55 | 显示全部楼层
晕了,你查看MPLAB根目录里面的PIC193X的模板了吗?
yang010121 发表于 2011-4-15 08:25



查看模板了,寄存器名称没有问题,如果您认为哪里不妥,请指正。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:抢钱、抢粮、抢女人! https://shop105961755.taobao.com/index.htm?spm=2013.1.w5002-3338070316.2.f652157E8BRIA

226

主题

1761

帖子

30

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