首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android上的蓝牙控制信号(DTR、DSR、RTS、CTS)

Android上的蓝牙控制信号(DTR、DSR、RTS、CTS)
EN

Stack Overflow用户
提问于 2010-11-22 11:22:54
回答 2查看 2.8K关注 0票数 4

我想通过蓝牙SPP通过Android远程重新编程我的Arduino。第一步是重置ATMEGA微控制器。这是在Arduino上通过切换DTR行来完成的。Android环境下有没有控制蓝牙SPP控制线的API?

EN

回答 2

Stack Overflow用户

发布于 2014-04-09 23:07:10

它也是由SPP一般支持发送或接收的控制信号(DTR,DSR,RTS,CTS)我不知道任何API或库的android权利知道,但由于你只是想要重置你的控制器…

如果可以的话。为了更改固件,您还可以创建自己的reset命令,该命令可以在UART上接收(通过SPP)。

如果您收到该命令,您可以调用类似于

代码语言:javascript
复制
asm("jmp 0x3800");

其中,您必须修改jmp-address以指向您的引导加载程序。您可能还想更改您的中断向量,使其指向引导加载程序。

或者启用您的watchdog并调用

代码语言:javascript
复制
while(1);

这还会自动将中断向量更改为引导加载程序的中断向量,并重置所有SFR。-但它有点慢,引导加载程序的中断向量必须在熔丝位中选择。

票数 1
EN

Stack Overflow用户

发布于 2010-12-08 08:49:11

我知道这不是你想要的,但你总是可以刷新一个新的引导加载程序,超时更长,并在开始编程之前手动按下重置按钮。

新的Arduino bootloader (optiboot)适合512B (与旧的2K相比),因此您有额外的空间可用于您的项目;具有智能引导检测功能,因此它只在按下重置按钮时才进入引导加载程序;您可以通过编辑源代码中的看门狗超时值(在optiboot.c中的第267行左右)来延长超时。

代码语言:javascript
复制
// Set up watchdog to trigger after 500ms (changed to 2s!)
watchdogConfig(WATCHDOG_2S);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4241998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档