Programming ATtiny85 från Raspberry Pi (4 / 4 steg)
Steg 4: Programmera ATtiny85
CD ~
mkdir ATtiny85
CD ATtiny85
mkdir blinky
CD blinky
skapa filen blinky.c och Lägg till följande kod
Nano blinky.c
////////////////////////
#define F_CPU 1000000L
#include < avr/io.h >
#include < util/delay.h >
int main(void)
{
DDRB = 0XFF; PORTB är alla stift-utdata
PORTB = 0X00; Göra pins lågt att starta
för (;) {
PORTB ^ = 0XFF; Invertera alla stiften
_delay_ms(100); vänta lite tid
}
Return 0;
}
////////////////////////
lägga till denna kod till en Makefile fil
Nano Makefile
///////////////////////
MCU = attiny85
AVRDUDEMCU = t85
CC = / usr/bin/avr-gcc
CFLAGS =-g - Os-vägg - mcall-prologer-mmcu=$(MCU)
OBJ2HEX = / usr/bin/avr-objcopy
AVRDUDE = / usr/local/bin/avrdude
TARGET = blinky
alla:
$(CC) $(CFLAGS) $(TARGET) .c -o $(TARGET)
$(OBJ2HEX) -R .eeprom - O ihex $(TARGET) $(TARGET) Hex
RM -f $(TARGET)
installera: alla
sudo gpio -g läge 22 ut
sudo gpio -g skriva 22 0
sudo $(AVRDUDE) -p $(AVRDUDEMCU) -P /dev/spidev0.0 - c linuxspi -b 10000 - U flash: w: $(TARGET) Hex
sudo gpio -g skriva 22 1
noreset: alla
sudo $(AVRDUDE) -p $(AVRDUDEMCU) -P /dev/spidev0.0 - c linuxspi -b 10000 - U flash: w: $(TARGET) Hex
säkring:
sudo gpio -g läge 22 ut
sudo gpio -g skriva 22 0
sudo $(AVRDUDE) -p $(AVRDUDEMCU) -P /dev/spidev0.0 - c linuxspi -b 10000 - U lfuse:w:0x62:m - U hfuse:w:0xdf:m - U efuse:w:0xff:m
sudo gpio -g skriva 22 1
ren:
RM -f *.hex *.obj *.o
///////////////////////
(Tyvärr, textredigeraren instructables har förstört alla flikar och mellanrum i koden ovan, Makefile fungerar inte utan flikar på rätt plats)
Att sammanställa typ:
göra
Att kompilera och ladda upp koden till ATtiny:
se installera
Alternativt skicka säkringar:
se säkring
Detta program svänger alla 5 stift som utgångar så LED bör flash.
Vi programmering ATtiny direkt med avr-libc.
Ändra inställningarna för ATtiny få säkringar från: https://github.com/kcuzner/avrdude