PIC的单片机,IO口的宏定义 突然不起作用了是什么原因?

2020-02-06 10:11发布

本帖最后由 zpywz 于 2015-9-24 11:31 编辑

在一个头文件里宏定义了一个IO口, 之前可以的,最近不知道改了哪里,现在通过宏定义无法操作IO了。

头文件内的定义:
#define  EN_Power   RD1               

主程序:
EN_Power=1 ;                这句不起作用。
NOP;                             如果仿真时在这里设置断点,这个IO口又是可以变高电平的。
RD1=1 ;                         否则非要这样才能操作这个IO口

很纳闷,什么情况下会出现这种问题?求解~


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
浮生莫若闲
1楼-- · 2020-02-06 11:41
出门的时候忘记给菩萨上柱香了
gaolf_2012
2楼-- · 2020-02-06 14:44
本帖最后由 gaolf_2012 于 2015-9-24 11:54 编辑

#define EN_Power         LATDbits.LATD1
#define EN_Power_TRIS    TRISDbits.RD1

使用前先将其设成输出口,
EN_Power_TRIS = 0;
如果单片机该口有模拟(ad)功能,还得将ANSELD &= 0xfd;
jiangxingyuan
3楼-- · 2020-02-06 17:38
估计是哪里定义了一个与宏名重名的宏了。把这个宏的名字改一下试一下就知道了。
szxszx
4楼-- · 2020-02-06 19:47
 精彩回答 2  元偷偷看……
laujc
5楼-- · 2020-02-06 23:45
将宏#define  EN_Power   RD1   改个名字试下,PIC很稳定的

一周热门 更多>