打印

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

[复制链接]
1582|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

使用特权

评论回复
5
su_mj000| | 2009-10-27 02:47 | 只看该作者
看门狗(watch dog)没关吧(它一次次引起复位重启)?

使用特权

评论回复
6
XIEYUANBIN| | 2009-10-27 08:31 | 只看该作者
1.端口的读-修改-写问题.
2.看门狗打开了.

使用特权

评论回复
7
兰天白云| | 2009-10-27 12:26 | 只看该作者
注意硬件电路,或使用影子寄存器

使用特权

评论回复
8
e掾木| | 2009-10-27 13:59 | 只看该作者
本帖最后由 e掾木 于 2009-10-27 14:01 编辑

知道啥叫RISC么?改成:
   RC3 = 1;
   Nop();
   Nop();
   Nop();
  RC6 = 1;
或者:PORTC |= 0x48;

使用特权

评论回复
9
yewuyi| | 2009-10-27 14:06 | 只看该作者
RC3=1;RC6=1;是可以执行的,这两行没有问题,但其它方面有没有问题需要LZ自己去找了。

使用特权

评论回复
10
su2006| | 2009-11-1 10:07 | 只看该作者

使用特权

评论回复
11
与时俱进| | 2009-11-1 20:09 | 只看该作者
所有现象都是有它道理的。

使用特权

评论回复
12
XIEYUANBIN| | 2009-11-2 22:34 | 只看该作者
简单的问题,楼上几位回答太高深了.

使用特权

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

本版积分规则

290

主题

844

帖子

3

粉丝