// 16 - gravador de percurso.c - Criado pelo studio UNO 2.3
// 25 November 2016 5:26:58 pm
#include <uno.h>
// Declaracao das Variaveis
unsigned char end;
unsigned char passo;
unsigned char var;
// Prototipos
void enter(void);
void frente(void);
void esq(void);
void dir(void);
void tras(void);
void repetir(void);
//Funcoes do Usuario
void enter(void)
{
__motor_curso(__STOP);
eeprom_write(passo, 4);
passo++;
}
void frente(void)
{
__motor_curso(__FORWARD);
__delay(2500);
__motor_curso(__STOP);
eeprom_write(passo, 0);
passo++;
}
void esq(void)
{
__motor_curso(__LEFT_TURN);
__delay(2500);
__motor_curso(__STOP);
eeprom_write(passo, 2);
passo++;
}
void dir(void)
{
__motor_curso(__RIGHT_TURN);
__delay(2500);
__motor_curso(__STOP);
eeprom_write(passo, 3);
passo++;
}
void tras(void)
{
__motor_curso(__BACKWARD);
__delay(2500);
__motor_curso(__STOP);
eeprom_write(passo, 1);
passo++;
}
void repetir(void)
{
end = 0;
for (int __i0 = 0; __i0 < 5; ++__i0) {
if ((eeprom_read(0) == 0)) {
frente();
}
if ((eeprom_read(0) == 1)) {
tras();
}
if ((eeprom_read(0) == 2)) {
esq();
}
if ((eeprom_read(0) == 3)) {
esq();
}
if ((eeprom_read(0) == 4)) {
enter();
}
end++;
}
passo = 0;
}
//Funcao Principal
void main(void)
{
__inicializa;
passo = 0;
repetir();
while((passo < 5)) {
if (__LEFT_KEY) {
esq();
}
if (__UP_KEY) {
frente();
}
if (__BOTTOM_KEY) {
tras();
}
if (__RIGHT_KEY) {
dir();
}
if (__ENTER_KEY) {
enter();
}
}
while(TRUE) { }
}