57
« en: Lunes 5 de Marzo de 2007, 21:16 »
Hola a tod@s,
Soy un estudiante de ingenieria electronica y tengo problemas con el software del proyecto.
Quiero controlar el sensor de temperatura AD7416, y cambiar una serie de parametros, para ello voy a utilizar un Atmega16, por un puerto le conecto el teclado, que lo utilizare para introducir los diferentes parametros, por otro puerto saldra el LCD.
El sensor utiliza la comunicacion I2C por lo que utilizare las patillas de SDA y SCL
para compilar utilizo el codevision.
me surguen muchas dudas de como hacerlo, por eso agradeceria a alguien que me guiara el como poder terminar el proyecto.
yo he creado dos funciones de la comunicacion i2c,pero no se si estaran bien, y no se como comprobarlo.
uc--> unsigned char
uc i2c_getchar (uc dir) // leer dato y generar Nack
{
uc u; // variable auxiliar
i2c_start(); //genera el start
i2c_write /dir|1); //scribi la direccion +RD (supuestamente lo hace esta funcion de codevision)
u= i2c_read(0); // lee el dato y genera el nack
i2c_stop (); // genera el stop
return u; // devuelve el valor
}
void i2c_putchar (uc dir, uc, dato, uc reg) // escribir el dato
{
i2c_start(); //genera start
i2c_write(dir&0xFE); //genera start
i2c_write(reg); //add pointer
i2c_write(dato);// escribir dato
i2c_stop(); // gener el stop
}
void main (void)
{
variable= i2c_getchar (dir);
registro=0x00;//reg. temperatura
i2c_putchar(dir,dato, registro)
}
este es el programa que e hecho para poder leer los datos del sensor, si alguien podria echarle un vistazo se lo agardeceria.
tambien tengo problemas con el teclado o con el lcd que no me presenta nada en pantalla y no se si es porque no me lee el teclado o porque no me presenta el LCD.
voy a seguir trabajando en esto a ver si consiguo que me funcione
tb utilizo el proteus para simularlo, cosa que aveces consigo que funcione y otras veces no
Gracias de antemano
Un saludo