picf16f628A IO口无法控制?

2019-03-25 19:09发布

初始化如下:
void port_init(void)
{
    // I/O 设置输出状态
    PORTA = 0B00000000;
    TRISA = 0B00000000;
}

但是在控制IO口时,
void main()
{
    port_init();

   put_char(PORTA);
    i = PORTA;
    put_char(i);
    i |= 0x08;
    put_char(i);
    PORTA = i;
   put_char(PORTA);
}

4次打印数据,分别是0,0,0x08,0
为什么PORTA = i;PORTA没有被赋值呢?
没有仿真头,仿真不了,急!!!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Leeone
1楼-- · 2019-03-26 02:59
没用过pic,看这结果应该是 i的数据宽度和PORTA宽度不同造成的
star143133
2楼-- · 2019-03-26 03:02
Leeone 发表于 2014-9-3 11:29
没用过pic,看这结果应该是 i的数据宽度和PORTA宽度不同造成的

后来再仔细看了下数据手册,解决了~
star143133
3楼-- · 2019-03-26 07:14
Leeone 发表于 2014-9-3 10:26
没用过pic,看这结果应该是 i的数据宽度和PORTA宽度不同造成的

虽然不是你描述的这个现象,但是已经解决了,分就送给你吧~

一周热门 更多>