fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

PAL NTSC TV

10 Respuestas
5 Usuarios
0 Reactions
4,623 Visitas
jaimejj
Respuestas: 16
Topic starter
(@jaimejj)
Active Member
Registrado: hace 14 años

Buenas.

¿Alguien ha probado a generar salida de video NTSC o PAL con el 18f2550 y el ide x.3 de pinguino.

Usando el OnTimer0(rutina,INT_MICROSEC,64); no creo que se esté generando una interrupcion cada 64 microsegundos.

El sincronismo horizontal, tampoco se ajusta a los valores necesarios:

LATB=0x00;
delayMicroseconds(4);
LATB=0x01;
delayMicroseconds(7);

¿Existe alguna forma fácil y económica de poder medir los tiempos exactos?

Saludos.

Responder
9 respuestas
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 17 años

Rápidamente: si alguien quiere aprender, le doy C, con la consola. Nada de gráficos. Nada de librerías. Por supuesto, nada de threads ni objetos, ni gráficos ni similar.

Aprender a programar microcontroladores es aprender a utilizar sus periféricos, no las librerías que hacen su trabajo. Usar una librería para programar el SPI cuando hacerlo es generalmente escribir un byte del único registro de configuración es justo lo que creo que no se debe hacer. Si lo que quieres es usar un PC, no viene al caso enseñar a programar el DMA ni el puerto serie, y entonces sí que recomiendo las librerías de estos elementos (si es que necesitas alguna vez el DMA...). Aún así, en este último caso, atente a las consecuencias, ya que igual alguno de mis programas de micros con USART pueden dejar en ridículo muchos Pentiums y sus puertos serie programados en librerías.

Otro ejemplo que pongo mucho al caso, y que constituye otras de mis muy muchas manías: el autoruter del Eagle. Si quieres aprender a diseñar PCB's, primero rutalas a mano. Si vas a hacer ni que sea una sóla PCB, aprende a ruarla a mano. Si no, no la hagas, que te lo hagan otros. Si aún así te empeñas en hacer todas tus PCB's desde los inicios a mano, en realidad nunca aprenderás a rutar PCB's, con lo que nunca llegarás a hacer bien tu trabajo.

Y estoy harto de ver gente que hace eso, de sufrir sus incompetencias e inutilidades, y luego ver cómo fracasan miserablemente en sus intentos patéticos de hacer funcionar ni un triste PIC a 40MHz. No hace mucho que precisamente me encontré con profesores de la universidad bloqueados con proyectos que les vienen muy grandes porque su diseño de PIC 32 no lleva ni un condensador de desacoplo, ni un plano de masa, ni les funciona cuando lo utilizan en la aplicación real, mientra que en la mesa de su laboratorio, sí les va. Y no saben ni por donde empezar. Luego se quejan sobre la formación de los ingenieros españoles.

Por supuesto, si eres aficionado, y no vas a hacer nada complicado, entonces allà tu, pero tarde o temprano te la vas a pegar.

Por cierto, un experto es aquel que ha cometido todos los errores posibles dentro de un campo muy estrecho del conocimiento. Y yo aún no soy un experto... Imagina cómo he aprendido.

Responder
juantxovilla
Respuestas: 9
(@juantxovilla)
Active Member
Registrado: hace 12 años

Estoy totalmente de acuerdo contigo beamspot, pero sólo para el que se vaya a dedicar profesionalmente a esto. (por ejemplo en la forma de enseñar en la universidad).

El resto de los mortales aficionados a la electrónica no necesitamos ese recorrido que nos haría tan "competentes" porque de ser así lo dejaríamos al inicio. Muchos de nosotros lo hacemos por hobby y no queremos dedicarnos a esto profesionalmente y es que somos la gran mayoría. A gente como nosotros recomendarle empezar por lo básico y no usar librerías si no picarlas nosotros me parece una idea realmente mala. Deja que la gente disfrute y tome un contacto más suave y al que le guste de verdad, tarde o temprano siempre podrá elegir reempezar por el lado que tu propones (y encima ayudado con su experiencia).

Que sí, como dices tú y como empezó la conversación, es verdad que gente avanzada que haya empezado desde arriba en vez desde abajo puede acabar perdiendo mucho tiempo cuando se da de bruces con el comportamiento de una librería, pero esto es inevitable, y nos pasará a todos en algún momento, ciertamente la gente "competente" sabrá mucho mejor como arreglar el tema, pero los amateur... pues o tendremos que replantearnos el empezar de cero o tirar por otros caminos.

Responder
dragonet80
Respuestas: 1328
(@dragonet80)
Ardero
Registrado: hace 17 años

Yo aquí discrepo. Y creo que se está confundiendo claramente el objetivo con el camino a seguir (que siempre serán diversos y variados). En el post original, Jaime no dice nada de aprender C, pregunta por una aplicación muy concreta con micro concreto y un IDE concreto. Para mi, el "como" se llegue a esa "funcionalidad" es totalmente irrelevante, lo único importante es el resultado final. Vamos, que algo funcione y bien, independientemente de que se haga en C, C++, Basic, con un dsPIC, un ARM, una FPGA o lo que sea.

Si te dedicas a esto, ya lo sabrás, a un cliente solo le interesa el precio, la funcionalidad y el plazo de entrega (sin hablar de servicios post-venta ni otros temas, claro). No le expliques que está hecho en C o Basic o en Ensamblador, que no le interesa para nada.

¿Y acaso el C no usa también un conjunto de librerías que facilitan mucho el trabajo si lo comparamos con el Ensamblador? Incluso puedes considerar que cada instrucción en C, en realidad es una librería de instrucciones en Ensamblador. Volvemos al principio, Jaime NO ha dicho que quiera aprender a programar microcontroladores.

Vamos, que lo importante es conseguir "hacer algo", no "como" haga eso.

Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

Yo estoy de acuerdo con juantxovilla, con que los aficionados usen librerías y el autoroute... Así cuando no les funcione algo los que nos dedicamos a esto tendremos trabajo 😈

S2

Ranganok Schahzaman

PD: dragonet, el cliente quiere que funcione siempre, yo he visto pegarse hostias monumentales (con la consiguiente pérdida de confianza del cliente) por hacer las cosas mal y deprisa para cumplir unos plazos imposibles, y te aseguro que una cosa así te hace perder más clientes que un pequeño retraso.

Responder
jaimejj
Respuestas: 16
Topic starter
(@jaimejj)
Active Member
Registrado: hace 14 años

Buenas, gracias por la info.
Cierto, sólo quería saber si el OnTimer0 cuando se le pasa INT_MICROSEC pilla exactamente los microsegundos que se le indican, que para este caso de la salida de video, serían 64 microsegundos, o por el contrario, cuando usamos algo de estas librerías es a prueba y error como cuando se programa en Windows. 😀
Las pruebas que hice con ARDUINO y la librería TVOUT, funcionan a la perfección, pero con PINGUINO y usando lo que comentaba, los resultados no son como deberían. En concreto, cuando dibujo en pantalla de TV y pongo una espera delayMicroseconds(1) en realidad está dibujando mucho más que un microsegundo, es más, diría que serían unos 10 o 12 microsegundos.

Las páginas de rickard gunee, son exactamente para el 16f y el oscilador que mandan, y no hace uso de interrupciones, sino del cálculo exacto para dibujar en pantalla, en concreto, no dibuja toda la pantalla.
La libreria PIC PALTV, es para el oscilador de 32 Mhz, así que las esperas que tiene por código no son las mismas.

Lo que quería era si existe algo fijo que funcione, para no dar palos de ciego.

Responder
Página 2 / 2
Compartir: