打印
[PIC®/AVR®/dsPIC®产品]

SOSCI引脚复用问题

[复制链接]
1506|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我现在用的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 | 只看该作者
这个引脚没有模拟功能,现在我临时处理是在外面加一个上拉电阻,可以正常运行,但是没能从根本上解决问题。你说的感应电压和放电回路我没太明白是什么意思,我的电路非常简单,如附件。

2.jpg (14.18 KB )

2.jpg

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

47

帖子

1

粉丝