AVR programming cu Arduino

Mai jos e primul program scris pe Arduino fara bootloaderul si functiile oferite de Arduino.

E un convertor de cod  binar-zecimal -> binar, in circuit sunt 5 butoane la intrare si 3 leduri pentru a afisa rezultatul.

/*
 * main.c
 *
 *  Created on: Dec 8, 2012
 *      Author: daniftodi
 */

#include <avr/io.h>
#include <util/delay.h>

void allOff()
{
	PORTD &= ~(1<<PD2 | 1<<PD3 | 1<<PD4);
}

int main(void)
{
	//Output pentru leduri
	DDRD |= 1<<PD2 | 1<<PD3 | 1<<PD4;

	DDRB &= ~(1<<PB1 | 1<<PB2 | 1<<PB3 | 1<<PB4 | 1<<PB5); // input pentru buton

	while(1)
	{

		if ( (PINB >> PB5) &1 == 1)
		{
			PORTD |= 1<<PD2;
		}
		else if( (PINB >> PB4) &1 == 1)
		{
			PORTD |= 1<<PD3;
		}
		else if ( (PINB >> PB3) &1 == 1)
		{
			PORTD |= 1<<PD2 | 1<<PD3;
		} else if( (PINB >> PB2) &1 == 1)
		{
			PORTD |= 1<<PD4;
		} else if( (PINB >> PB0) &1 == 1)
		{
			PORTD |= 1<<PD2 | 1<<PD4;
		}else
		{
			allOff();
		}
	}
	return 0;
}

 

Pentru a programa in acest stil cu Arduino aveti nevoie de asa un programator:

 

 

 

 

 

 

 

 

 

 

Eu inca nu am unul a meu, l-am imprumutat de la cineva de la universitate dar sper sa imi fac unul.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.