我想通过蓝牙 SPP 通过 Android 远程重新编程我的 Arduino。第一步是重置 ATMEGA 微 Controller 。这是通过切换 DTR 线在 Arduino 上完成的。是否有任何 API 可以从 Android 环境控制蓝牙 SPP 控制线?
最佳答案
一般来说,SPP 也支持发送或接收控制信号(DTR、DSR、RTS、CTS)我不知道适用于 Android 的任何 API 或库,但因为你只想重置你的 Controller 。 ..
如果没问题为了更改固件,您还可以创建自己的重置命令,该命令可以在您的 UART 上(通过 SPP)接收。
如果你收到那个命令,你可以调用类似的东西
asm("jmp 0x3800");
您必须在其中修改 jmp
-address 以指向您的引导加载程序。
您可能还想更改中断向量以指向引导加载程序。
或者启用你的看门狗并调用
while(1);
这也会自动将中断向量更改为引导加载程序的中断向量并重置所有 SFR。 - 但它有点慢,必须在 Fuse Bits 中选择引导加载程序的中断向量。
关于android - Android 上的蓝牙控制信号(DTR、DSR、RTS、CTS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4241998/