如何使用 Raspberry Pi 4 (Python) 对 atMega328p MCU 进行编程

问题描述

我在网上到处找这个确切的配置,但找不到太多。

我想使用 RaspBerry Pi 4 中的 Python 对我的 AtMega328p MCU(它在面包板上)进行编程,但我不确定如何检查它们之间的通信是否正在进行?我将 Pi 的 MISO、MOSI、SCLK 和 CE0 引脚分别连接到 AtMega328p 上的 MISO、MOSI、SCK、SS 引脚。

我知道我必须使用 SPI 通信,但是如何将数据从 RaspBerry Pi 准确发送到 MCU 以确保两者之间有通信?也许一些代码要发送到 MCU 并接收回来?我一直在使用 SPI Dev Python 库,但找不到太多相关信息。提前谢谢你!!

解决方法

要将代码加载到 AVR 上(对其进行编程),您需要使用现有的软件,例如 avrdude,这些软件已经支持 AVR ISP 协议。 avrdude 已经支持使用 RPi SPI 标头 - 只需使用 linuxspi 程序员类型。

这是作者的一篇文章对其进行了解释(尽管如果您四处搜索,可能还有更多最近的文章)http://kevincuzner.com/2013/05/27/raspberry-pi-as-an-avr-programmer/

您是否有特别想从 Python 执行此操作的原因?或者你指的是 uC 固件和 Pi 上的一些 Python 代码之间的通信?