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

[复制链接]
1032|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;?
另外有想设为输入捕捉,有影响?担也禁止了捕捉模块。
 楼主| fancychg1 发表于 2020-4-9 09:05 | 显示全部楼层
要特意将RB9设为ANSBbits.ANSB9=0;似乎有用,但读tempj=LATBbits.LATB9;似乎不起作用还是读不到1,而tempj=PORTBbits.RB9;能读到1。

评论

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

本版积分规则

7

主题

20

帖子

0

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