Este es un proyecto que llevo pensando hace mucho tiempo, y aunque he realizado algunos programas que ya realizan esta funcion, me gustaria hacerlo de forma mas completa.
En fin me explicare mejor. La idea es la siguiente:
1) Un microcontrolador 18F que es es que estoy trabajando actualmente aunque puede ser cualquier otro.
2) Se crean multiples subrutinas dentro de la memoria Flash de programa del Pic tales, como , configuraciones puertos, pwm, envio datos a puerto, convertidor A/D y muchas mas, cada una de estas subrutinas las llamaremos, comando1, comando2, comando3, ..... etc.
3) Reservaremos una parte de la memoria Ram del Pic por ejemplo entre la posicion 100 a 1FF, el programa principal empezara leyendo la posicion 100 y hay por ejemplo se encuentra el valor "1" que en su interpretacion de ordenes significa que tiene que ejecutar el comando1, y esto significa por ejemplo que tiene que configurar el puertoA con un determinado valor.
Una vez echo esto pasara a la siguiente posicion de memoria 101 de Ram y ejecutara otro comando y asi sucesivamente.
4) Evidentemente se necesitan datos adjuntos a estos comando, si queremos por ejemplo en el comando1 configurar el puerto PORTA con sus entradas y salidas, evidentemente debe haber un sitio donde le diga con que valor se debe configurar el ese puerto, bueno pues esos valores necesarios para el buen funcionamiento de los comandos pueden almacenarse entre las posiciones 200 a 2FF
5) Va a ser necesario otro bloque de memoria para los datos que se puedan generar u otras cosas mas, que por ejemplo puede estar en el bloque de RAM que va de posicion 300-3FF .
Bueno a esta altura de la pelicula si alguien se ha leido esto estara pensando para que coño querra este
tio hacer esto....JEJEJE.
La idea es convertir el microncontrolador en una especie de microprocesador, se que hay un microcontrolador de la
familia 18 que puede correr parte de codigo en SRAM, pero yo quiero ir mas alla y poder correr funciones
mas complejas, es como si yo creara los comandos que se van a ejecutar en este microprocesador.
Que ventajas tiene esto:
Es inmediato, yo creo un programa se lo meto en memoria RAM atraves del puerto serie, lo ejecuto y miro como
se comporta, y lo modifico y lo vuelvo ejecutar miles de veces, las veces que yo quiero.
Creo multiples combinaciones exteriormente.
Lo unico que tengo que hacer es cargar los bloques de Memoria y dar la orden de ejecucion.
Desventajas:
Se pierde en velocidad y se complican las creaciones de programas, pero mas tarde se puede crear un interpretador de ordenes.
Bueno yo me manejo en Linux, para mi crear programas en C que cargen los bloques de memoria del Pic y lo almacenen
en memoria RAM del Pic no me supone problema, pero entiendo que por lo general la gente se maneja en windows.
En fin me gustaria saber que le parece a la gente esta idea.
Muy feliz año y prospero año nuevo para toda la gente de este foro.