我,我正在编写一个 attiny85 程序。首先,我用我的树莓派做了这个,可以制作一个程序来打开/关闭连接到我的 attiny85 的 LED。但是网上只有一个 fex 教程来使用树莓派进行编程,但是有很多使用 Arduino 的教程。所以我决定使用arduino ide,然后获取.hex文件并用我的树莓派将其上传到attiny上。 (我没有arduino板)。此外,arduino ide 还有许多库可以让您的生活变得简单。但是当我上传它时一切正常,但程序似乎不起作用。我真的不知道是否可以使用 arduino 创建 .hex 文件并使用 Raspberry pi 推送。 PS:抱歉英语不是我的母语 这是我用树莓派制作的第一个程序,它的工作原理是:
#define F_CPU 1000000L
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
PORTB = 0xFF; // LED's are off
for (;;) {
DDRB = 1<<DDB4 | 1<<DDB1 | 1<<DDB0 | 1<<DDB3;
//PORTB ^= 0xFF; // invert all the pins
_delay_ms(1000); // wait some time
DDRB = 0<<DDB4 | 0<<DDB1 | 0<<DDB0 | 0<<DDB3;
_delay_ms(1000); // wait some time
}
return 0;
}
然后是我用arduino制作的程序(我知道它只应该打开2个LED,但没有一个打开):
void setup() {
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
delay(1000); // wait for a second
digitalWrite(1, LOW);
digitalWrite(2, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
为了插入它,我使用这个命令(对于两个程序,但对于第一个程序,我首先编译它以生成.hex):
sudo gpio -g mode 22 out
sudo gpio -g write 22 0
sudo /usr/local/bin/avrdude -p t85 -P /dev/spidev0.0 -c linuxspi -b 10000 -U flash:w:blinky.hex
那么这正常吗?这是代码问题还是我无法执行我尝试的操作? 我真的想使用 arduino IDE,因为我希望我的 attiny/rasbperry 通过串行 gpio 进行通信
最佳答案
也许您应该了解一下如何使用 arduino 库并将其添加到您的项目中。然后当您使用 avr gcc 编译器时,添加该库。但奇怪的是,你的第二个代码在 attiny 上不起作用。您是否检查过 .hex 文件包含十六进制代码? :)
关于c - 使用树莓派将 .hex 文件从 ArduinoIDe 上传到 attiny85,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292164/