Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi
Foros Registrarse ¿Olvidaste tu contraseña?
30/10/2013 #1


Convertir una variable tipo file en char (arduino)
Hola Buenas!
Estoy diseñando un pequeño programa en arduino que lee archivos de una tarjeta SD , para ello utilizo tipo de variable File.
A la ora de leer utilizo un attachInterrupt que me detecta los cambios de estado de un botón , el cual utilizo para que el usuario pueda seleccionar que archivo leer.
Este botón me lleva a un bucle donde tengo la orden para abrir el archivo Serial.write(archivo.read()); Bien hasta hay todo normal , el tema es que la interrupción no dura el tiempo apropiado y no me es capaz de leer mas de uno o dos caracteres del archivo y luego se sale de este , e probado con todo tipo de bucles dentro de la interrupción pero no ejecuta el resultado esperado.
Con lo cual buscando soluciones encontré una función capaz de ayudarme (EOF) ,que me detectaría el final del archivo, probé en un if parecido a este : if(archivo!=EOF) pero no funciono por la clase de archivo por lo tanto la solución que se me ocurre es convertirle a char.

Supongo que abra muchos mas tipos de soluciones , si es asi estaría agradecido de que me las comentasen

La pregunta es como convertir archivo en char??

Gracias por adelantado , un saludo. ...
30/10/2013 #2

Avatar de chclau

Nunca se hacen tareas complicadas dentro de una interrupcion, lo que tenes que hacer es activar alguna variable y en el bucle principal efectuar la lectura del archivo ante la activacion de esa variable.
31/10/2013 #3

Avatar de Scooter

Exacto, en la interrupción tres o cuatro instrucciones y listo. (cuantas menos mejor y bucles ni en broma)
Para todo lo demás se inventó el bucle principal del main.
06/11/2013 #4


Convertir una variable tipo file en char (arduino)
Bien , estoy realizando un programa en arduino , la cuestión es que leo un archivo de la sd y lo muestro por pantalla cuando presiono un botón , función que realizo en el void loop() dentro de un if.
La cuestión es que me imprime un carácter tan solo de el archivo , investigando un poco descubrí una forma de intentarlo utilizando un while y el carácter EOF

{
while(archivo.read()!=EOF){
eba=digitalRead(botonA);
Serial.write(archivo.read());
}

esto estaría dentro de un if , el tema es que lee el archivo hasta que aparece EOF pero todo desordenado cosa que no lo hacia antes de hacer este while,alguna idea? ...
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Arduino y Raspberry Pi

Cerrar
Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.