我有几年的桌面和网络编程经验.我想继续做一些嵌入式系统编程.在询问了最初的问题后,我想知道我应该从哪个硬件/软件IDE开始......
Arduino + Arduino IDE?
Atmel AVR + AVR Studio 4?
飞思卡尔HCS12或Coldfire + CodeWarrior?
Microchip PIC + MPLAB?
ARM Cortex-M3 + ARM RealView/WinARM
或者......没关系?
哪个开发平台最容易学习和编程(考虑到IDE的可用性)?
如果出现问题,哪一个最容易调试?
我的目标是了解"IO端口如何工作,内存限制/要求,包括可能的分页,中断服务程序". 学习一个我稍后会使用的,或者高级概念应该延续到大多数微控制器是否更好?
谢谢!
更新:这个开发工具包是如何开始的?评论?建议?
该项目是使用我的Android手机连接我的arduino设备.但是我如何解除配对的配对.我看到配对列表似乎存储在bluetoothadapter可以随时检索的位置.
PS:1,我知道长按配对设备将取消配对.
但问题是如何以编程方式实现这一目标?
2,我检查了bluetoothdevice和bluetoothAdapter类,没有实现这个的功能.
谢谢.
我正在尝试使用Arduino的类对象,但我一直遇到问题.我想要做的就是声明一个类并创建该类的对象.一个例子是什么?
我有一个非常简单的测试草图,其中我试图设置一个引脚HIGH然后用它读取它的状态digitalRead.这是我的素描.
void setup()
{
Serial.begin(9600);
}
void loop()
{
delay(1000);
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
delay(1000);
pinMode(3, INPUT);
Serial.println(digitalRead(3));
}
Run Code Online (Sandbox Code Playgroud)
串口监控结果:
0
0
0
0
Run Code Online (Sandbox Code Playgroud)
我已经明白改变pinMode会阻止它HIGH.因此,将引脚设置为HIGHin OUTPUT模式然后更改为INPUT模式将其更改为LOW.因此,digitalRead将始终返回0.如果我不更改pinMode,它将无法读取引脚.那么如何在OUTPUT不丢失值的情况下读取处于模式下的引脚的当前设置?
有人可以解释一下Arduino引导加载程序的工作原理吗?我不是在寻找一个高级答案,我已经阅读了代码,我得到了它的要点.
在Arduino IDE和引导加载程序代码之间发生了许多协议交互,最终产生了许多内联汇编指令,这些指令通过串行接口传输程序来自动编程闪存.
我不清楚的是第270行:
void (*app_start)(void) = 0x0000;
Run Code Online (Sandbox Code Playgroud)
...我认为函数指针的声明和初始化为NULL.随后在引导加载程序要委托执行用户加载代码的位置调用app_start.
当然,某种程度上app_start需要在某些时候获得非NULL值,以便将所有这些组合在一起.我在引导加载程序代码中没有看到它......它是否被引导加载程序加载的程序神奇地链接了?我认为引导加载程序的主要部分是芯片复位后进入软件的入口点.
包含70个左右的程序集必须是秘密的解码器环,告诉主程序app_start到底在哪里?或者也许是Arduino IDE利用了一些隐含的知识?我所知道的是,如果某人没有将app_start更改为指向0以外的其他位置,那么引导加载程序代码将永远自行旋转......那么诀窍是什么?
编辑
我有兴趣尝试将引导加载程序移植到没有用于引导加载程序代码的单独内存空间的Tiny AVR.由于我很明显引导加载程序代码依赖于某些保险丝设置和芯片支持,我想我真正感兴趣的是将引导加载程序移植到没有这些保险丝和硬件的芯片需要做些什么.支持(但仍具有自编程能力)?
我刚刚开始尝试使用Serproxy和Arduino将一些串行数据导入Flash Builder/Flex.Serproxy似乎工作正常,似乎连接到指定的任何端口.但是,我无法使用ActionScript从串行端口查看或读取任何数据.这很奇怪,因为Arduino应该在循环上打印数据.
我唯一能想到的是我没有设置正确的串口号.我一直想弄清楚如何找出应该设置的数字,即5331,5332,5333等.
我如何找到端口号?有没有办法在OS X上使用终端呢?
我想使用Emacs作为Arduino编程的开发环境.使用Emacs编程Arduino有哪些提示或链接?
是否有官方(或事实上的)Emacs模式?
另外,如果我独家使用Emacs,我会想念Arduino IDE吗?
arduino ×10
android ×2
avr ×1
avr-studio4 ×1
bluetooth ×1
bootloader ×1
c ×1
class ×1
codewarrior ×1
emacs ×1
embedded ×1
https ×1
macos ×1
object ×1
serial-port ×1
terminal ×1