STM32
直播中

李腈

7年用户 144经验值
私信 关注
[问答]

如何在IO口外接黑白线传感器输入模式下检测到低电平?

小白刚刚学习STM32,想做个跷跷板小车来促进一下学习,可是当我外接黑白现传感器的时候遇到点小问题。。。求解释啊!
#define in1 PCin(2) // PC2  小车循迹
#define in2 PCin(3) // PC3
GPIOC->CRL&=0XFFFF00FF;
GPIOC->CRL|=0X00008800;   //PC2、3 推挽输入
//在输入模式下,输出高就是上拉.在输出模式下,输出高,那就是输出高了     
GPIOA->ODR&=0X0<<2;       //PC2、3 设置为下拉
因为黑白线传感器检测到黑线时输出高电平,所以我想把C2、C3两个端口设置为输入并且拉低,是不是这样才能检测到低电平呢?我是这样理解的,
可是小车跑的时候一直不行~~,一直吉安测是我对IO口的理解有误吗?求解啊。。。。

回帖(2)

张莹

2019-9-20 08:31:53
1,你的PC口时钟使能了么?
2,明明说在设置PC口,你来了个GPIOA->ODR&=0X0<<2;       //PC2、3 设置为下拉
3,GPIOA->ODR&=0X0<<2;也错了,要修改为GPIOC->ODR&=~(3<<2);
4,你是不是外部还接了上下拉电阻?因为内部的下拉电阻只有100K左右,很弱...你外部接个10K的上拉那就....
举报

王琳

2019-9-20 08:48:05
原子大哥,回复神速啊。。。我改改试试,外部确实接了上拉了。谢谢原子哥
举报

更多回帖

发帖
×
20
完善资料,
赚取积分