【发布时间】:2019-10-17 05:01:13
【问题描述】:
我有一个 Arduino Uno R3(实际上,从 Elegoo 分发,但具有完全相同的组件),我考虑使用 Arduino IDE 上的“Arduino as ISP”功能使用引导加载程序在其上刻录 ATMega 8 芯片。
我查看了 ATMega 8 芯片的规格,我想问一下 - 我在网上看到的所有地方,它都说默认 CPU 时钟速度是 16MHz,这是有道理的,因为板载晶体时钟运行在16兆赫。但是,我不确定我已经编写的代码是否安全:
#define SPI_CLOCK (16000000/6) // Internal clock speed 16 MHz for Arduino UNO.
考虑到规格,我认为这段代码会很好。该示例告诉我将SPI_CLOCK 设置为1000000/6 的值,这对于 ATtiny85 (@ 1 MHz) 来说足够慢,但是由于我想使用板载晶体的全部功能并想要更快的时钟速度,将SPI_CLOCK直接设置为16000000/6是否安全?
任何帮助将不胜感激。 谢谢!
【问题讨论】:
-
澄清一下,我只打算使用引导加载程序代码来刻录 ATmega 8 芯片。
-
我无法理解是什么阻止了您以 1000000/6 波特率对闪存进行编程? 16MHz CPU 肯定会接受的。
-
@AterLux 好的,但是将波特率设置为该值会影响我上传到芯片的草图的执行速度吗?像延迟()或音调()之类的时间敏感函数一样?
-
我不确定你在说什么。在编程器上设置 SPI 时钟速度只会影响闪存设备的速度。它不会改变刷新代码的工作方式
-
好的,感谢您的澄清!
标签: avr arduino-uno avrdude