打印

PIC24FV16KM202 IO引脚输入高电平却读不到1

[复制链接]
808|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fancychg1|  楼主 | 2020-4-7 21:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PIC24FV16KM202 IO引脚输入高电平却读不到1;
_TRISB9=1;
Nop();
tempj=PORTBbits.RB9;
tempj=LATBbits.LATB9;
RB9引脚电压有4.6V的正脉冲,却不论是PORTBbits.RB9还是LATBbits.LATB9都始终读不到1。

使用特权

评论回复
沙发
mzb2012| | 2020-4-7 21:47 | 只看该作者
读取IO用PORTBbits.RB9,记得关闭模拟配置;输出用LAT

使用特权

评论回复
板凳
ynwa| | 2020-4-8 08:56 | 只看该作者
检查该引脚是否和模拟功能复用,作为数字输入,必须设置为数字引脚。并且禁止复用该引脚的其他数字外设。
作为数字输入,读PORT寄存器即可。LAT寄存器用于输出。

使用特权

评论回复
地板
fancychg1|  楼主 | 2020-4-8 09:18 | 只看该作者
只设置过其它引脚的AD。// Analog Port Selection
ANSBbits.ANSB13=1;
ANSBbits.ANSB14=1;
要特意将RB9设为ANSBbits.ANSB9=0;?
另外有想设为输入捕捉,有影响?担也禁止了捕捉模块。

使用特权

评论回复
5
fancychg1|  楼主 | 2020-4-9 09:05 | 只看该作者
要特意将RB9设为ANSBbits.ANSB9=0;似乎有用,但读tempj=LATBbits.LATB9;似乎不起作用还是读不到1,而tempj=PORTBbits.RB9;能读到1。

使用特权

评论回复
评论
GIGGWANG 2020-4-28 11:52 回复TA
LAT是输出,读状态读PORT寄存器,还有输入时是高阻态,最高把IO拉到一个确定的电平再检测 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

20

帖子

0

粉丝