vic*_*tcu 5 hardware embedded microcontroller avr avr-gcc
我希望有一个关于Atmel AVR微控制器的简单问题.所以我想使用ATTiny85的模拟比较器来确定信号是高于还是低于阈值.当"有效"时(即,它是一个有效的低开路集电极信号),该信号通常是"浮动"并被拉向地.如果我通过执行以下操作启用输入引脚上的上拉(也是比较器输入):
DDRB = 0x00; // DDRB.1 = 0 = input
PORTB = 0xFF; // PORTB.1 = 1 = internal pullup enabled
Run Code Online (Sandbox Code Playgroud)
如果我使用模拟比较器并选择PORTB.1作为AIN1,内部上拉应用于我的输入信号?我希望有人有个人经验来验证这种行为.希望这个问题对于堆栈溢出来说不是"硬件导向".谢谢!
编辑 响应下面的一些评论"为什么不以数字方式对待"的效果,这是因为我的"信号"是由传感器(即光学红外传感器)产生的.我无法保证它会"足够硬"地将其解释为零数字,因此我将使用内部2.56V参考作为切换阈值.我只是想拿起"IR事件",所以这对我来说似乎是最简单的方式.
此外,通过使用模拟比较器,我可以使用ISR"异步"检测事件.当然,有些引脚可以在数字边沿上调用中断,但是不希望依赖于响应低于V_IL.