我有一个在我的 Duemilanove 上运行良好的项目——我可以将它编译为“生产”,它在没有串行通信的情况下运行,并且它会发送一些推文。我可以为简单的串行消息传递和调试而编译它,或者我可以为详细的串行活动编译它。一切正常。对于详细模式,我使用 Serial.print(F("Some message String")) 将字符串保留在 SRAM 之外。在我开始之前,我很容易用完 SRAM,当然简单的串行模式很好,但是 verbose 会无法运行,或者运行不规律。
现在我拿起了一个 Uno R3 并将我的软件加载到它上面。我加载得很好,但在详细模式下根本不会通过串行通信(其他操作似乎也失败了),但在简单串行模式下,它工作正常,并且为“生产”编译它工作正常。
规格说明 Uno 的内存配置与 Duemilanove 相同。SRAM有什么区别吗?Serial.print(F()) 在 Uno 中的工作方式不一样吗?这是一个 OSEPP Uno R3 - 那里有问题的经验吗?我知道较早的那些被闪错了,需要 pgm'd w/一个替代目标规范,但这似乎很好。(使用 Mac OSX 10.8.4,并已更新 FTDI 2.2.18)
感谢您的任何建议。-罗斯。