打印

PIC带比较器的端口作为数字输出时的问题

[复制链接]
2762|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Push_Pull|  楼主 | 2011-3-7 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PIC16F684带比较器输入的4个端口,我现在想把他设置为数字输出
但是我这样初始化了貌似不行啊,按照PDF中说的这样设置
  CMCON1 = 0x07;
  TRISA = 0;
  ANSEL = 0x00;
  PORTA = 0;        //RA  0
  TRISC = 0x0;     //out
  PORTC = 0;
然后再while(1)里
     RA0 = 1;
      RA1 = 1;
      RA2 = 1;
      RC0 = 1;
      RC2 = 1;

RA0,RA1,RC0,RC1输出的是方波,闷
沙发
Push_Pull|  楼主 | 2011-3-7 14:17 | 只看该作者
原因找到了
在头文件中寄存器名字复制错了,杯具,大意了

使用特权

评论回复
板凳
yewuyi| | 2011-3-7 14:49 | 只看该作者
CMCON1 = 0x07;
-------------------------------------
你这句可能错了,应该是CMCON0 = 0x07;

使用特权

评论回复
地板
yewuyi| | 2011-3-7 14:50 | 只看该作者
原因找到了
在头文件中寄存器名字复制错了,杯具,大意了
Push_Pull 发表于 2011-3-7 14:17


你确定头文件错了!?
呵呵,俺看倒是【CMCON1 = 0x07;】错了

使用特权

评论回复
5
Push_Pull|  楼主 | 2011-3-7 15:11 | 只看该作者
本帖最后由 Push_Pull 于 2011-3-7 15:16 编辑

叶公误解了我的意思
我的意思是:这些寄存器我懒得写,都是直接在头文件中找,然后把头文件中的寄存器名称复制过来放进代码中。头文件中有个寄存器是CMCON1,还有个寄存器是CMCON0。我本意是想复制CMCON0的,结果眼镜迷糊了下,把CMCON1复制了过来
也算是一个教训吧

使用特权

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

本版积分规则

2

主题

370

帖子

1

粉丝