搜索
bottom↓
回复: 5

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

[复制链接]

出75入90汤圆

发表于 2015-9-24 11:29:36 | 显示全部楼层 |阅读模式
本帖最后由 zpywz 于 2015-9-24 11:31 编辑

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

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

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

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


出0入0汤圆

发表于 2015-9-24 11:45:58 | 显示全部楼层
出门的时候忘记给菩萨上柱香了

出20入12汤圆

发表于 2015-9-24 11:53:28 | 显示全部楼层
本帖最后由 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;

出0入0汤圆

发表于 2015-9-24 11:53:36 | 显示全部楼层
估计是哪里定义了一个与宏名重名的宏了。把这个宏的名字改一下试一下就知道了。

出10入10汤圆

发表于 2015-9-24 11:58:54 | 显示全部楼层
看看编译器生成的汇编代码有没有问题

出0入4汤圆

发表于 2015-9-24 12:05:28 | 显示全部楼层
将宏#define  EN_Power   RD1   改个名字试下,PIC很稳定的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 06:45

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表