Stap 4: De ATtiny85 Program
cd ~
mkdir ATtiny85
CD ATtiny85
mkdir blinky
CD blinky
Maak het bestand blinky.c en voeg de volgende code
Nano blinky.c
////////////////////////
#define F_CPU 1000000L
#include < avr/io.h >
#include < util/delay.h >
int main(void)
{
DDRB = 0XFF; PORTB wordt uitgevoerd, alle pinnen
PORTB = 0X00; Maak pinnen laag om te beginnen
voor (;) {
PORTB ^ = 0XFF; omkeren van alle pins
_delay_ms(100); Wacht enige tijd
}
keren 0;
}
////////////////////////
Voeg deze code toe aan een Makefile-bestand
Nano Makefile
///////////////////////
MCU = attiny85
AVRDUDEMCU = t85
CC = / usr/bin/avr-gcc
CFLAGS =-g - Os-wand - mcall-prologen-mmcu=$(MCU)
OBJ2HEX = / usr/bin/kunnen worden avr-objcopy
AVRDUDE = / usr/local/bin/avrdude
DOELSTELLING = blinky
alle:
$(CC) $(CFLAGS) $(TARGET) .c -o $(TARGET)
$(OBJ2HEX) -O .eeprom - O ihex $(TARGET) $(TARGET) hexadecimaal
rm -f $(TARGET)
installeren: alle
sudo gpio -g modus 22 uit
sudo gpio -g schrijven 22 0
sudo $(AVRDUDE) -p $(AVRDUDEMCU) -P /dev/spidev0.0 - c linuxspi -b 10000 - U flash: w: $(TARGET) hexadecimaal
sudo gpio -g schrijven 22 1
NoReset: alle
sudo $(AVRDUDE) -p $(AVRDUDEMCU) -P /dev/spidev0.0 - c linuxspi -b 10000 - U flash: w: $(TARGET) hexadecimaal
zekering:
sudo gpio -g modus 22 uit
sudo gpio -g schrijven 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 schrijven 22 1
schoon:
rm -f *.hex *.obj *.o
///////////////////////
(Sorry, de instructables text editor heeft vernietigd alle tabbladen en afstand in de code hierboven, de Makefile werkt niet zonder de tabbladen op de juiste plaats)
Om te compileren type:
maken
Om te compileren en uploaden van de code naar de ATtiny:
Maak installeren
Optioneel verzenden zekeringen:
maken zekering
Dit programma oscilleert alle 5 pinnen als uitgang zodat de LED moet flash.
Wij zijn de ATtiny rechtstreeks met behulp van avr-libc programmeren.
Om te veranderen de setup van de ATtiny krijgen zekeringen van: https://github.com/kcuzner/avrdude