Hola que tal, soy nuevo en este foro y justamente llegué a él mientras buscaba información de como manejar un ADS7843.
Quiero agradecer a Suky por su gran aporte y considerando que es el autor quizá sea la persona más adecuada para asistirme. De antemano muchas gracias
Resulta que estoy usando un PIC18F4620 @ 24MHz con una GLCD de 320x240 que cuenta con ese integrado, originalmente pensaba usar el spi por hardware pero ya lo tengo ocupado con una memoria SD así que traté de implementar el código de Suky. Mi problema esta en que no sé a que se deba después de correr la inicialización de otros bloques el ads7843_getCoord( ADS7843_DATA *coords) deja de funcionar. Esta en el puerto A desde A1 hasta A5 ya que uso A0 como entrada analogica.
para saber si realmente funcionaba, inmediatamente después del while puse una pequeña rutina para lleer coordenadas e imprimirlas en pantalla para lo que resultó excelente, sin falla alguna. No obstante si pongo ese mismo código después de haber hecho mi rutina de montar el sistema de archivos que nada tiene que ver con el puerto que uso para el ads7843 la rutina deja de funcionar. No tengo la más remota idea de por donde va el problema.
Al imprimir en pantalla siempre me regresa X y Y con un valor absurdo como 8179, para esto el valor máximo después de un ajueste es 320 para x y 240 para y
Espero alguien me pueda orientar para saber donde esta el problema.
// Ejemplo de rutina que funciona
#include <p18f4620.h>
#include "glcd\__S1D13700__.h"
#include "touchPanel\ADS7843.h"
void main(void);
ADS7843_DATA coordenadas;
char buffer[100];
void main(){
unsiged char tpflag = 0;
init_adc();
ads7843_init();
glcd_init();
//Prueba//
while(1){
if(ADS7843_IRQ == 0){
if(tpflag == 0){
ads7843_getCoord(&coordenadas);
delay_ms(5);
sprintf(buffer
, "x:%i y:%i", coordernadas.
x, coordenadas.
y); joinPGM2RAM("", "", "", 0, 0, 60, BLACK, buffer, "", 1); //funcion propia para poner mensaje en la GLCD
}
}else{ tpflag = 1;}
}
// Termina prueba
while(1){
iniciarSistemaDeArchivos();
imprimirImagen();
elMenu(); // aqui es donde requiero lleer las coordenadas, si pongo el codigo de //Prueba en esta parte deja de funcionar
}
}
Saludos y gracias nuevamente