[PIC®/AVR®/dsPIC®产品] SOSCI引脚复用问题

[复制链接]
1725|2
 楼主| hankchen86 发表于 2014-8-20 09:58 | 显示全部楼层 |阅读模式
我现在用的PIC24HJ128GP204单片机,用RB4/CN1/RP4/SOSCI这个引脚作为一个按钮输入引脚(这个引脚是LP振荡器输入、电平变化通知1、通用I/O口RB4和RP4这4个功能的复用引脚),按下为低电平,松开为高电平,使能了内部上拉电阻,外部就只有一个按钮到地,VDD = 3.3V,不使用LP振荡器。
在调试过程中发现这个引脚在按下时为0V,但是在没有按下按钮时引脚电压为2.3V,单片机读取该引脚始终为0,现在不知道该怎么办了,有没有哪位高手遇到过这样的问题,帮我处理一下。初始化代码如下:

        TRISBbits.TRISB4 = 1;        //RB4配置为输入
        CNPU1bits.CN1PUE = 1;        //使能内部上拉电阻
        __builtin_write_OSCCONL(OSCCONL & 0xFD);         //禁止LP振荡器
yewuyi 发表于 2014-8-20 10:26 | 显示全部楼层
1、检查该引脚有没有模拟功能模块复用?如果有,则设置相关寄存器关掉。
2、因为任何IO口都有寄生电容等,如果没有放电回路,则容易有寄生感应电压,检查你的电路有无这方面的问题?
 楼主| hankchen86 发表于 2014-8-20 10:46 | 显示全部楼层
这个引脚没有模拟功能,现在我临时处理是在外面加一个上拉电阻,可以正常运行,但是没能从根本上解决问题。你说的感应电压和放电回路我没太明白是什么意思,我的电路非常简单,如附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

47

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部