TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: garlic_74 en 21 de Febrero de 2006, 04:44:00
-
aver si algun maestro como cuca o alguien me puede ayudar.
He probado el codigo de cuca y el de otras paginas i las imagenes mes alen corridas. Hasta con el ejemplo de cuca, la cucaracha me sale corrida. Parece como si el dibujo que imprimo sea mucho mas pequeño que toda la pantalla.
Un saludo y gracias
Ya intentare colgar la imagen com me sale de mal.
-
Sí, cuelga una foto y el programa que estas usando, a ver si vemos algo
-
alli voy, dejo las fotos la primera es solo haciendo un INIT, se ve claro k uanque ponga borrar tengo k borrar a saco los caracteres en negro de abajo del todo.
La segunda imagen es la de cuca, se ve toda corrida.
NOTA: Podria ser k si es de pantalla 3330 todo cambia la resolucion y algun aspecto mas.. ?¿
Aqui dejo el codigo:
Byte CONST TABLE3 [249]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x78,0x04,0x02,0x01,0x00,0x00,0xC0,0xE0,0x30,0x10,0x18,
0x08,0x04,0x86,0xE1,0xF0,0x10,0x10,0x30,0x20,0x20,0x60,0x60,0x40,0x40,0x40,0x80,
0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,
0x18,0x20,0xE0,0xF0,0xD8,0xFC,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0x7F,
0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,0x7F,0x7F,0x7F,0xFE,0xFE,0xFE,0xFC,0xF8,0xF8,0xF0,
0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
Byte CONST TABLE4 [255]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x81,0x67,0x17,0x0E,0x0F,0x0F,0xFF,0x3F,0x1F,0x1F,
0x1F,0x1F,0x3F,0xFF,0xFF,0x3F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,0x7E,
0x7F,0x7F,0x7F,0x3F,0x1F,0x0E,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x4E,0x81,0x00,0x00,0x00,0x0E,0x11,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x02,0x04,0x04,0x09,0x93,
0xE7,0x86,0x06,0x06,0x02,0x02,0x03,0x03,0x03,0x01,0x01,0x01,0x02,0x02,0x02,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x00,0x00,0x00,0x00,0x1F,0x12,0x12,0x1E,0x00,0x02,0x6C,0x18,0x06,0x00,0x00,0x00,
0x00,0x0C,0x13,0x11,0x10,0x09,0x1E,0x10,0x10,0x1E,0x0C,0x12,0x12,0x12,0x0C,0x16,
0x12,0x1E,0x1E,0x06,0x02,0x06,0x0C,0x16,0x12,0x1E,0x00,0x0C,0x12,0x12,0x12,0x18,
0x1F,0x02,0x1E,0x0C,0x16,0x12,0x1E,0x00
};
// en el void he puesto esto
nokia_init();
nokia_clean_ddram();
nokia_gotoxy(0,0);
for (a=0;a<=248;a++){nokia_write_data(TABLE3[a]);}
for (a=0;a<=254;a++){nokia_write_data(TABLE4[a]);}
// la libreria del nokia no me deja adjuntarla, no la pongo ya que okupa muchas lineas de codigo
Gracias por ayudar 
Un saludo al foro
-
Las imagenes no salen.

Si la pantalla del 3330 tiene un pixel más, los gráficos se verán desplazados.
Lo que debe haber si la librería es buena es un DEFINE donde ponga el ancho y el alto de la pantalla en píxeles y modificarlo con el ancho de tu pantalla.
-
yo veo masd e un pixel diria xD
bueno entonces esd e 84x48? ahora 85x48?
algo de razon tienes ya que para que me borrara toda la pantalla tuve que añadir esto:
void nokia_clear_screen(void)
{
nokia_erase_y(0);
nokia_erase_y(1);
nokia_erase_y(2);
nokia_erase_y(3);
nokia_erase_y(4);
nokia_erase_y(5);
nokia_erase_y(6); -->
los AÑADI YO PORQUE SINO KEDAVA EN NEGRO
nokia_erase_y(7); -->
}
No hay ningun define del tamaño 
Ni libreria cuca ni libreria Michel Bavin 2004 que es la que estoy usando.
Almenos dime exactamente que modificacion debo hacerle a las imagenes para que queden bien.
Un saludo, y gracias
-
Pues te recomiendo encarecidamente que utilices la librería de nocturno que puedes encontrar en su web que si tiene los defines y puedes portar muy facilmente de C30 a CSS.
No puedes hacer modificacion en la imagen porque el problema no es de hay. El problema es que la librería supone que la pantalla es de 84*48 pixeles.
Si tienes una imagen de 10*10 pixeles, la librería escribe los 10 primeros píxeles de la primera linea de la imagen y luego escribe (84-10) ceros para saltar a la siguiente linea. Si tu pantalla tiene 85 píxeles, la librería sigue escribiendo 84-10 ceros en vez de 85-10 y el salto a la línea siguiente se desfasa un pixel.
Este error se va acumulando en cada salto de linea, por lo que la imagen te saldrá en diagonal, pongas la imagen que pongas.
Tienes entonces dos opciones:
1.- Corregir el error buscando en la libraría la funcion que pinta la imagenes y modificar ese 84 por un 85, o el que corresponda en tu caso.
2.- utilizar otra librería con el ancho y alto parametrizable mediante un define.
En el caso que dices de las lineas negras al final de la pantalla es el mismo problema. Debes buscar el 48 y el 84 y cambiarlo por el núemro de pixeles que tenga tu pantalla.
-
muchas gracias antonio!!!
eres un hacha
te daria un besito 
mirare las librerias de C30 de nocturno, realmente sabes exactamente de cuantos pixeles es el LCD del nokia 3330? de 85x5X
un saludo
-
Pues no se pero una vez que tengas corregido el ancho, averiguar el alto es dejar la funcion de borrar la pantalla original y contar con una lupa, cuantas lineas negras te deja.
-
gracias antonio
#define ANCHOPANTALLA 84
#define ALTOPANTALLA 48
ya probare
si alguien lo sabe, Pixeles LCD NOKIA 3330, k lo diga... xD
Un saludo
-
Yo me inclino a pensar que esa pantalla es exactamente igual que la del 3310, o sea, de 84x48. Me suena que el problema que tienes es que escribe un byte de cada 2 o 3 que envías, por un problema de tiempos.
Podrías probar a aumentar los "delay" y ver qué pasa, porque me parece que le estás dando comida muy rápido y a la pantalla no le da tiempo a hacer la digestión.
-
maestro nocturno siento decirte k no tienes del todo la razon

toda la noche de ayer rayandome, para descubrir k la imagen es de .... TA TAN TANNNN
102x65 me parece increible k en ningun lado de internet comenten esto 
Nocturno contigo queria hablar... jeje komo veo k eres un fan de los C30... 
Quiero hacer un proyecto y no se porque pics decantarme, he tocado estos --> 16F, 18F, ...
Lo que tengo claro es trabajar a 40 Mhz, con un XTall de 10Mhz *4 (pll)
Y no se si decantarme por los 30, son muy caros?
- Resumen basico de mi proyecto:
lcd standard, lcd nokia (voy jodido por las imagens k no me caben), eeprom (i2c), termometro (i2c), canales varios ADC, 3 seven segments, .. en un futuro GPS por interrupcion RX, RTCC (real time clock de algun chip), interrupcion externa RB0 para controlar un velocimetro, ...
no te rallo mas 
un saludo
-
iQue resolución mas rara!, bueno, lo importante es que has conseguido resolverlo.
Siempre recomendaré que se usen los 30f, son maravillosos, aunque no sé si son caros o baratos.
-
Según he leído por ahi, los dsPIC son los DSPs más baratos del mercado, aunque si no vas a hacer procesamiento digital de señal ni vas a utilizar funciones matemáticas que tengan que ser rápidas, te recomiendo la serie 18F que son más baratos y traen módulo USB.