通过Arduino IDE迁移到AVR工作室(或其他更好的替代方案)更好吗?觉得它是如此简单和幼稚。我需要知道专家的想法和选择。
通过Arduino IDE迁移到AVR工作室(或其他更好的替代方案)更好吗?觉得它是如此简单和幼稚。我需要知道专家的想法和选择。
Answers:
使用例如AVR Studio的巨大优势是能够使用Arduino诞生之前为ATmega168 / 328制作的所有库。FFT库,使用已购买的晦涩IC的库,基本数字滤波器等,以及更多信息,可以在AVRfreaks和数百个其他爱好站点上找到。
如果您学习如何使用标准的AVR库并研究微控制器的数据表(或教程),则还可以编写更有效的代码。对于简单的应用程序,arduino代码易于编写和调试。但是,有时您想更有效地控制时间。AnalogRead()
需要100µs才能执行。这相当于10ksps(每秒数千个样本)。如果您访问ATmega168 / 328的低级代码,则可以轻松地将其提高到70ksps。当然,您可以在Arduino IDE中完成所有这些操作,但是在某些时候您的项目可能变得太复杂了,您将需要编写具有更快功能的自己的库。AVR Studio可能更适合于此。
另外,如果您想对除Arduino提供的AVR以外的任何AVR芯片进行编程,则将需要一个程序员和一个不同的IDE。使用1kB代码的小型项目可以在ATtiny上完成。您可以以单个ATmega328的价格购买一打。这些芯片价格便宜,并且具有Arduino的大多数功能:I2C,SPI,ADC。您甚至可以找到添加USB HID接口的库!没有串行驱动程序或任何东西!
就个人而言,我首先在Arduino IDE中编写代码,而没有代码优化。如果可行,则可以将该代码轻松转录为标准C ++库并提高效率。
这很简单,因为每个人都必须可以访问它,并且可行:每个人和他的妹妹都可以对Arduino进行编程。
如果您感觉可以处理诸如Real Programming之类的问题我一定会这样做。您将不得不编写更多的代码,但也将拥有更多的控制权。重要的一点:Arduino库的效率非常低:像这样的函数DigitalWrite
,DigitalRead
可以比原来快50倍。
DigitalRead/Write
。从不知道..
大多数响应都集中在将Arduino开发板用作标准AVR开发板。但是,您也可以使用更高级的IDE,并且仍然可以利用Arduino编码和内置库的简单性(以及上述缺点)。EngBlaze只是为此提供了一个教程:教程:将Atmel Studio 6与Arduino项目一起使用
Arduino IDE以代码效率为代价,为小型项目提供了便利和开发速度。因为专家也有最后期限,所以使用Arduino IDE进行快速概念验证或帮助调试另一个项目是完全可以接受的。
如果您想专门从事嵌入式软件开发,则必须能够使用功能更强大的开发工具,例如AVR Studio或avr-gcc和您首选的IDE。
如果您打算在内存较小和/或低功耗要求和/或高性能的系统上工作,那么除了掌握开发工具,了解微控制器的内部工作原理以及了解某种组装知识绝对是一件好事。
so
复杂的汇编代码。尽管这似乎有些困难,但是您可以了解微控制器的确切运行方式。我认为许多人会发现此答案有用。希望您能获得更多的投票,:D ..(这是您的第一个答案,是吗?)。