首先检查一下电源电压是否稳定,MCU的复位脚是否受到干扰。另外就是要检查软件方面的情况,可以先关闭看门狗,若不再出现复位现象,则频繁复位应该就是看门狗使能引起的,接下来就应该检查软件中可能造成看门狗计数溢出的地方,大多是在一些while等待或比较耗时的操作中。
Arduino自带的例程里有舵机和超声波传感器的例子,把两者结合一下差不多就可以了。
会有一些干扰,可以通过分别供电、加光耦隔离信号等措施避免干扰。
低功耗模式可以保持设备一直在线,而断电就没有办法做到这一点,两者功能不同,因此需要结合实际考虑,而不是一味从功耗上考虑。
如果对IO的操作速度没有太高要求的话,可以适当加一个高频滤波电容。
可以通过译码器或者移位寄存器实现,具体芯片可以查看74系列。