我想通过蓝牙SPP通过Android远程重新编程我的Arduino。第一步是重置ATMEGA微控制器。这是在Arduino上通过切换DTR行来完成的。Android环境下有没有控制蓝牙SPP控制线的API?
发布于 2014-04-09 23:07:10
它也是由SPP一般支持发送或接收的控制信号(DTR,DSR,RTS,CTS)我不知道任何API或库的android权利知道,但由于你只是想要重置你的控制器…
如果可以的话。为了更改固件,您还可以创建自己的reset命令,该命令可以在UART上接收(通过SPP)。
如果您收到该命令,您可以调用类似于
asm("jmp 0x3800");其中,您必须修改jmp-address以指向您的引导加载程序。您可能还想更改您的中断向量,使其指向引导加载程序。
或者启用您的watchdog并调用
while(1);这还会自动将中断向量更改为引导加载程序的中断向量,并重置所有SFR。-但它有点慢,引导加载程序的中断向量必须在熔丝位中选择。
发布于 2010-12-08 08:49:11
我知道这不是你想要的,但你总是可以刷新一个新的引导加载程序,超时更长,并在开始编程之前手动按下重置按钮。
新的Arduino bootloader (optiboot)适合512B (与旧的2K相比),因此您有额外的空间可用于您的项目;具有智能引导检测功能,因此它只在按下重置按钮时才进入引导加载程序;您可以通过编辑源代码中的看门狗超时值(在optiboot.c中的第267行左右)来延长超时。
// Set up watchdog to trigger after 500ms (changed to 2s!)
watchdogConfig(WATCHDOG_2S);https://stackoverflow.com/questions/4241998
复制相似问题