IO口定义成一个变量

2019-07-16 02:33发布

追问
#include <pic.h>
#define x  RA0
void main()
{
uchar unsigned y,w;
w=0;  
while(1)
{  
x=w;  //此时RA0输出状态为0   
y=1;  
if(y==1)  
  {   
w=1;     //此时RA0输出状态出错   
}
}
}我是一个初学者,可能对单片机还有很多不理解,上面程序中为什么当W=1时,RA0口的输出状态不是为1,是不是单片机不能这么操作,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
wangwenzhao0052
2019-07-16 14:22
hobbye501 发表于 2013-2-1 20:30
PIC 的单片机的IO口的寄存器和51的不一样,它在用的时候要想定义IO口的方向,就是说 是做输入用 还是输出用 ...

#include <pic.h>
#define x  RA0
void main()
{
uchar unsigned y,w;
    TRISA=0x00;      
    PORTA=0x00;  
    ANSELH=0x00;
    ANSEL=0x00;
    w=0;  
while(1)
{  
x=w;  //此时RA0输出状态为0   
y=1;  
if(y==1)  
  {   
   w=1;     //此时RA0输出状态出错   
}
}
}
前面的方向寄存器是我写漏了,其实此贴我最想问的就是在单片机C语言W能不能这样赋值,为什么最后W=1时RA0输出状态出错,前面x=w; 时RA0输出状态为0 又是对的,

一周热门 更多>