【发布时间】:2016-11-12 12:40:44
【问题描述】:
我,我正在为 attiny85 编程。首先,我用我的树莓派做了这件事,可以制作一个打开/关闭连接到我的 attiny85 的 LED 的程序。但是网上只有一个 fex 教程可以用 raspberry pi 编程服装,但是 Arduino 有很多。所以我决定使用 arduino ide,然后获取 .hex 文件并用我的树莓派将其上传到服装上。 (我没有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 进行通信
【问题讨论】:
-
我认为10000的波特率不正确。尝试典型的波特率,例如 9600 或 115200。
-
我尝试了第一个代码,它也可以工作,但对于 IDE Arduino 代码,我不工作:/
标签: c arduino raspberry-pi hex avr