#pragma GCC optimize (-Og)
#include "ArduinoTrace.h"
byte count;
byte led0=3; // led0 conectado al pin digital 3 del Arduino
byte led1=7; // led1 conectado al pin digital 7 del Arduino
byte led2=12; // led2 conectado al pin digital 12 del Arduino
byte led3=19; // led3 conectado al pin digital 19 del Arduino
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
// pinMode(led0, OUTPUT), pinMode(led1, OUTPUT);
DDRD=DDRD|(1<<PD3)|(1<<PD7);
// pinMode(led2, OUTPUT)
DDRB=DDRB|(1<<PB4);
//pinMode(led3, OUTPUT);
DDRC=DDRC|(1<<PC5);
//DUMP(PORTB,BIN);
Serial.println(PORTB,BIN);
//----------------------------------------------
}
void loop() {
// put your main code here, to run repeatedly:
//TODO: ----------------------------------------
//digitalWrite(led0,bitRead(count,0));
if(bitRead(count,0)==1)
{
PORTD=PORTD|(1<<PD3); // bit 3 de PORTD en 1 <=> led0 ON
}
else
{
PORTD=PORTD&~(1<<PD3); // bit 3 de PORTD en 0 <=> led0 OFF
}
//digitalWrite(led1,bitRead(count,1));
if(bitRead(count,1)==1)
{
PORTD=PORTD|(1<<PD7); //bit 7 de PORTD en 1 <=> led1 ON
}
else
{
PORTD=PORTD&~(1<<PD7); //bit 7 de PORTD en 0 <=> led1 OFF
}
//digitalWrite(led2,bitRead(count,2));
if(bitRead(count,2)==1)
{
PORTB=PORTB|(1<<PB4); //bit 4 de PORTB en 1 <=> led2 ON
}
else
{
PORTB=PORTB&~(1<<PB4); //bit 4 de PORTB en 0 <=> led2 OFF
}
//digitalWrite(led3,bitRead(count,3));
if(bitRead(count,3)==1)
{
PORTC=PORTC|(1<<PC5); //bit 5 de PORTC en 1 <=> led3 ON
}
else
{
PORTC=PORTC&~(1<<PC5); //bit 5 de PORTC en 0 <=> led0 OFF
}
//----------------------------------------------
DUMP(count);
if(count<15)
{
count++;
}
else
{
count=0;
}
delay(1000);
}