Paso 4: Programar el ATtiny85
CD ~
mkdir ATtiny85
CD ATtiny85
mkdir blinky
CD blinky
cree el archivo blinky.c y agregue el código siguiente
Nano blinky.c
////////////////////////
#define F_CPU 1000000L
#include < avr/io.h >
#include < util/delay.h >
int Main
{
DDRB = 0XFF; PORTB es salida, todos los pines
PORTB = 0 X 00; Asegúrese que las espigas de baja para iniciar
para (;) {
PORTB ^ = 0XFF; invertir todos los pernos
_delay_ms(100); esperar un tiempo
}
return 0;
}
////////////////////////
Agregar este código a un archivo Makefile
Nano fichero Makefile
///////////////////////
MCU = attiny85
AVRDUDEMCU = t85
CC = / usr/bin/avr-gcc
CFLAGS =-g - Os--mmcu=$(MCU) - mcall prólogos de pared
OBJ2HEX = / usr/bin/avr-objcopy
AVRDUDE = / usr/local/bin/avrdude
OBJETIVO = blinky
todos:
$(CC) $(CFLAGS) $(destino) .c -o $(TARGET)
$(OBJ2HEX) -R .eeprom - O ihex $(TARGET) $(destino) .hex
RM -f $(TARGET)
instalar: todas
modo de sudo gpio -g 22 a
sudo gpio -g escribir 22 0
sudo $(AVRDUDE) -p $(AVRDUDEMCU) -P /dev/spidev0.0 - c linuxspi -b 10000 - U flash: w: $(destino) .hex
sudo gpio -g escritura 22 1
/noreset: todas
sudo $(AVRDUDE) -p $(AVRDUDEMCU) -P /dev/spidev0.0 - c linuxspi -b 10000 - U flash: w: $(destino) .hex
fusible:
modo de sudo gpio -g 22 a
sudo gpio -g escribir 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 escritura 22 1
limpiar:
RM -f *.hex *.obj *.o
///////////////////////
(Lo sentimos, el editor de texto de instructables ha destruido todas las pestañas y espaciado en el código anterior, el fichero Makefile no funcionará sin fichas en el lugar correcto)
Para compilar el tipo:
hacer
Para compilar y cargar el código en el ATtiny:
Asegúrese de instalar
Opcionalmente enviar fusibles:
que el fusible
Este programa oscila los 5 pines como salidas para que el LED debe destellar.
Estamos programación el ATtiny directamente usando avr-libc.
Para cambiar la configuración de lo ATtiny conseguir fusibles de: https://github.com/kcuzner/avrdude