搜索
bottom↓
回复: 7

求助:PIC单片机GPIO端口初始化问题

[复制链接]

出0入0汤圆

发表于 2017-3-22 21:21:41 | 显示全部楼层 |阅读模式
最近在调试PIC单片机,发现GPIO初始化函数必须放在main函数的开始,放在其他子函数中后续调用就导致部分端口初始化无效,因为涉及到上电初始化时端口输出全部为高电平会改变外围器件的状态,所以某些端口的初始化必须放在子函数中,求教如何解决。我的代码如下
  1. void GPIO_Init(void)
  2. {        //A端口
  3.         TRISA = 0x02;                       //RA1配置成模拟输入,其他A端口均配置成输出       
  4.         ADCON1bits.PCFG0 = 1;                //数字IO
  5.         ADCON1bits.PCFG1 = 0;                //模拟输入
  6.         ADCON1bits.PCFG2 = 1;                //数字IO       
  7.         ADCON1bits.PCFG3 = 1;                //数字IO

  8.         //B端口
  9.         TRISB = 0x01;                       //RB0配置成模拟输入,其他B端口均配置成输出
  10.         ADCON1bits.PCFG4 = 0;                //模拟输入
  11.         ADCON1bits.PCFG5 = 1;                //数字IO
  12.         ADCON1bits.PCFG6 = 1;                //数字IO               
  13. }
复制代码

具体来说是端口A的初始化不能放在其他子函数中,求指导!先谢谢了

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2017-3-22 22:02:33 | 显示全部楼层
楼主的意思是:在子函数中改变 A端口的 “模拟”与“数字”状态?

出0入0汤圆

发表于 2017-3-23 08:21:27 | 显示全部楼层
用函数指针可以吗?

出20入12汤圆

发表于 2017-3-23 08:36:43 | 显示全部楼层
你用的单片机有没有这个:ANSELx 寄存器

出0入0汤圆

 楼主| 发表于 2017-3-27 16:48:54 | 显示全部楼层
d314361768 发表于 2017-3-22 22:02
楼主的意思是:在子函数中改变 A端口的 “模拟”与“数字”状态?

是的,在子函数中改变端口A的模拟与数字状态无效,端口B就可以,你知道是什么情况吗

出0入0汤圆

 楼主| 发表于 2017-3-27 16:49:27 | 显示全部楼层
河图洛书 发表于 2017-3-23 08:21
用函数指针可以吗?

不太明白,这个跟函数指针有什么关系

出0入0汤圆

发表于 2017-3-27 16:52:54 | 显示全部楼层
#define    LineInput  GP1
#define    Output     GP2
#define    Diminput   GP4

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-3-29 14:10

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

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