发新帖我要提问
12
返回列表
打印

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

[复制链接]
楼主: 我是土匪
手机看帖
扫描二维码
随时随地手机跟帖
21
1、
__CONFIG(1,0x0464); //配置字:
__CONFIG(2,0x1233); //配置字:
这个写法肯定是错误的。
2、
__CONFIG1(0x09e4); //配置字:
__CONFIG2(0x1233); //配置字:
这个写法的错误主要是你的前半个括号是中文输入法下输入的,你写成如下看看:
__CONFIG1(0x09e4); //配置字:
__CONFIG2(0x1233); //配置字:
3、到底应该怎么写,你可以查阅编译器安装目录下面对应芯片型号的头文件,里面一般会有示例写法,以那个为准。

使用特权

评论回复
22
yang010121| | 2011-4-15 16:13 | 只看该作者
查看模板了,寄存器名称没有问题,如果您认为哪里不妥,请指正。
我是土匪 发表于 2011-4-15 12:55


指正不敢当,交流吧,本人用过16F886,也是双配置字,汇编开发环境。
C不是太熟悉,在汇编的情况下,是:
   __CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_ON & _IESO_OFF & _FCMEN_OFF
    __CONFIG _CONFIG2, _WRT_OFF & _VCAPEN_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF

照本宣科而已,我想MICROCHIP不会蠢到两个配置字在一次配置完的;因为那个括号里面的仅仅是与操作而已.不会报错因为语法没错误,但是逻辑上未必。
以上个人愚见,本人还未曾接触这么新的PIC器件。

使用特权

评论回复
23
JayGong| | 2011-4-15 21:31 | 只看该作者
楼主,不是后者有效,是PICC中有2个字节配置字的特殊用法!
__CONFIG(0x0464); //配置字:CONFIG1 0x8007
__CONFIG(0x1233); //配置字:CONFIG2 0x8008
这样就可以达到您开始提出的PIC16F1937配置字有2个寄存器,CONFIG1和CONFIG2中分别写入了0x0464和0x1233。

使用特权

评论回复
24
hexenzhou| | 2011-4-16 13:30 | 只看该作者
PICC的配置字真是弱智,这样定义会有奇异的。

使用特权

评论回复
25
XIEYUANBIN| | 2011-4-16 20:21 | 只看该作者
在PICC中,正确的2个配置字的写法:
__CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_ON & CP_ON & CPD_ON & BOREN_ON & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF );//配置字1

__CONFIG(WRT_ALL & PLLEN_OFF & STVREN_ON & BORV_25 &  LVP_OFF );//配置字2
这个可以在PICC的用户手册中轻松查到
至于每个位的定义,可以在相应芯片的头文件中找到,需要注意的是,PICC的不同版本,对配置字中的位定义不太一样,可能会产生编译不通过的情况.

使用特权

评论回复
26
我是土匪|  楼主 | 2011-4-18 10:26 | 只看该作者
解惑,非常感激

使用特权

评论回复
27
Light_David| | 2011-4-19 01:02 | 只看该作者
嘿嘿,
PICC就是这样"BT"
刚接触16F883时也因为有两个配置字,当时懒+无聊就没有去查资料,
就在那一边乱试,一边结合CONFIG bits选项上面值看,大家上面的方面基本上都试验完了,
最后不知道咋想到整这个方式试下,居然成功了,,

__CONFIG(0x0464); //第一个CONFIG
__CONFIG(0x1233); //第二个CONFIG

我一般也很少使用那些宏,就在CONFIG bits设置好,在将值填入既是,这样也不至于出错吧?好像很多大侠不建议。当然这个要是换芯片时就有可能得重新设置,好在MPLAB设置这个也还算比较好用。。

使用特权

评论回复
28
yewuyi| | 2011-4-19 09:18 | 只看该作者
嘿嘿,
PICC就是这样"BT"
刚接触16F883时也因为有两个配置字,当时懒+无聊就没有去查资料,
就在那一边乱试,一边结合CONFIG bits选项上面值看,大家上面的方面基本上都试验完了,
最后不知道咋想到整这个方式试下, ...
Light_David 发表于 2011-4-19 01:02


一定要使用宏,这样C代码才能做到一目了然,你也才会认真去研究那些配置字的区别。

使用特权

评论回复
29
我不懂| | 2011-4-19 10:12 | 只看该作者
C:\Program Files\Microchip\MPASM Suite\Template\Code,这里所有的程序框架都有

使用特权

评论回复
30
shinejoe| | 2011-5-5 11:17 | 只看该作者

使用特权

评论回复
31
WalKerOne| | 2011-5-29 18:14 | 只看该作者
各位大侠,16F1937的配置字2里的DEBUG位怎么不能配置?这是不是导致在用ICD2对1937进行debug时,编程后无法进入RUN的原因?

使用特权

评论回复
32
guangods| | 2013-1-16 15:05 | 只看该作者
23楼的方法已实验过,确实能通过

使用特权

评论回复
33
13066| | 2013-1-16 15:34 | 只看该作者
厉害呀,各位,请问PIC16F193X怎样设置内部晶振呀,8MHZ,如何判断已经设置OK,如何设置TIMER1,哪里有范例?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则