前一段时间,我买了ATMega32-16PU,我想,我可以用Raspberry PI的GPIO引脚编程。我尝试了几次,我意识到ATMega32-16pu需要5v和5v才能打破我的Raspberry PI,所以我买了施密特触发器来移动返回PI的信号电压。 现在我想,如果甚至可以用Raspberry编程ATMega ..如果不是,我应该买什么样的程序员?
答案 0 :(得分:1)
AVR通常也工作在3.3V,可能会降低最大允许时钟频率(较旧的可以降至2.7V,较新的甚至降至1.8V),因此您可以直接使用Raspis SPI对其进行编程 - 无需任何级别的移位器。
您也可以使用较新的AVR(例如,大多数兼容的AtMega324 - 您也可以轻松地按比例放大或缩小闪存/内存大小)。因此,您可以将保险丝设置为ckdiv8
,使其在编程时处于活动状态(此时为3.3V)并在程序启动时移除时钟分频器,如果您需要最大时钟频率。
如果你被绑在旧的Mega16上,那么至少你不需要输入电平移位器,因为AVR的阈值为“高”。是0.6 * VCC。除了重置引脚,但无论如何这很有用。所以只有MISO Pin需要一些照顾。简单的分压器应该足够AVR) --[ 10k ]-- (RPI) --[ 20k ]-- (GND
您似乎也可以将avrdude
与程序员linuxspi
一起使用。请参阅文档。
这个Article德国微控制器社区网站建议调整配置文件以设置用于重置AVR的正确引脚,并建议在配置文件中调整波特率。
programmer
id = "linuxspi";
desc = "Use Linux SPI device in /dev/spidev*";
type = "linuxspi";
reset = 25; # <- your reset pin
baudrate = 100000;
;
用于读取连接测试的Flash内容到/dev/null
的avrdude命令行看起来有点像:
sudo /usr/local/bin/avrdude -c linuxspi -p m32p -P /dev/spidev0.0 -U flash:r:"/dev/null":r