这个编程问题,真的使我迷惑了.

[复制链接]
3040|11
 楼主| ihafd 发表于 2009-10-25 21:02 | 显示全部楼层 |阅读模式
本帖最后由 ihafd 于 2009-10-25 21:03 编辑

TRISC = TRISC & 0XB7; //set RC6 and RC3 is output;

while(1)
{RC3 = 1;RC6 = 1;}

这么简单的程序,RC3 和RC6应该是输出高电平吧!
但结果并不是。
而是:RC3和RC6是输出的脉冲,而且RC3和RC6是反相输出的?
为什么会这样啦?
谢谢 !
chen3bing 发表于 2009-10-25 21:11 | 显示全部楼层
是不是第二功能没有禁止。
headwolf_83 发表于 2009-10-25 21:41 | 显示全部楼层
什么型号,PIC型号多如牛毛。是不是ECCP或者MCPWM模块没关闭。
 楼主| ihafd 发表于 2009-10-26 11:08 | 显示全部楼层
型号:16F689
su_mj000 发表于 2009-10-27 02:47 | 显示全部楼层
看门狗(watch dog)没关吧(它一次次引起复位重启)?
XIEYUANBIN 发表于 2009-10-27 08:31 | 显示全部楼层
1.端口的读-修改-写问题.
2.看门狗打开了.
兰天白云 发表于 2009-10-27 12:26 | 显示全部楼层
注意硬件电路,或使用影子寄存器
e掾木 发表于 2009-10-27 13:59 | 显示全部楼层
本帖最后由 e掾木 于 2009-10-27 14:01 编辑

知道啥叫RISC么?改成:
   RC3 = 1;
   Nop();
   Nop();
   Nop();
  RC6 = 1;
或者:PORTC |= 0x48;
yewuyi 发表于 2009-10-27 14:06 | 显示全部楼层
RC3=1;RC6=1;是可以执行的,这两行没有问题,但其它方面有没有问题需要LZ自己去找了。
su2006 发表于 2009-11-1 10:07 | 显示全部楼层
与时俱进 发表于 2009-11-1 20:09 | 显示全部楼层
所有现象都是有它道理的。
XIEYUANBIN 发表于 2009-11-2 22:34 | 显示全部楼层
简单的问题,楼上几位回答太高深了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

294

主题

858

帖子

3

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