Me gustaría disculparme antes de comenzar esta pregunta, ya que no tengo el código para escribir aquí, ya que está en mi computadora de trabajo. PERO.. 1) Descubrí que mi módulo GY521 (para MPU6050) se ha interconectado correctamente con la CPU ATMEGA32 que estoy usando.
SDA - > APS
SCL - > SCL
Vcc para CPU, así como GY521 se está encendiendo a 3.3V
2) La interfaz TWI funciona perfectamente. Estoy usando 6 funciones para la Biblioteca TWI.
TWI_START para generar condiciones de inicio
TWI_STOP para generar la condición de parada
TWI_READ y TWI_WRITE para leer y escribir.
TWI_DEVICE_READ para generar un cuadro para leer datos del registro de la dirección del esclavo.
TWI_DEVICE_WRITE para generar un marco para escribir datos en el registro de la dirección del esclavo.
3) Cuando leo el registro de WHOAMI, me devuelve el valor correcto, es decir, 104d o 68h. Soy capaz de escribir en los registros, pero cuando los leo para cumplir con todo lo que tengo, obtengo 0.
4) Después de un minuto de trabajo, descubrí que el estado predeterminado del bit 6 de PWR_MGMT_1 es alto, es decir, en el modo de suspensión. Intenté escribir un nuevo vale en PWR_MGMT_1 pero cuando leo, obtengo el mismo valor predeterminado, es decir, 40 h o 64 d.
Ahora, aquí me gustaría creer que he dado casi toda la descripción que pude pensar, si algo queda fuera, hágamelo saber, por favor.
y agradecería cualquier esfuerzo realizado para resolver mi problema de inicializar el mpu6050, leer y escribir los registros y desactivar el modo de suspensión.
GRACIAS :)