Es bastante absurda la mezcla que he hecho, o no.
Por un lado python interpretado lentísimo mezclado con ensamblador que lo bloquea a este tipo de CPU, pero bueno, es un "driver" de un hardware específico que lo bloquea igualmente al hardware.
Para que veáis que no es taaaan lento:
El LCD en modo serie requiere tres bytes por cada byte que se envía, el fabricante sabrá por qué, un byte de "comando", luego envía 4 bits en un byte y luego otros cuatro en otro.
Eso implica 24 pulsos de reloj y 24 datos.
Esos pulsos no pueden ir a cualquier velocidad, están limitados a 1MHz o así.
El programa abre un archivo .bmp estandard sin manipular de su sistema de archivos, elimina cabeceras y colas y convierte los datos para que los acepte el lcd. Si esto se hace en un PC y se le pasa un .bin arreglado irá más rápido. Cada línea del LCD son 4 o 5 comandos que dan las coordenadas y 16 bytes del gráfico, ello por 64 líneas y todo por 24 +24 operaciones de bit para manejar los dos pines.
Casi 1 segundo!!! Es un monton...
Por qué es taaan lento ese microcontrolador?
O sea, cuál es el limitante en éste caso, la pantalla o el microcontrolador?
Python es interpretado osea lento*
Probablemente yo no sea el mejor pythoniso del mundo y se pueda mejorar el algoritmo; el primero que hice era siete veces más lento.
Python a secas corriendo en una CPU de varios GHz es rápido de sobra, pero μPython en este caso correr sobre una CPU de 100MHz y para tareas pesadas se resiente.
Por cabezonería no he usado uno de los puertos SPI, que no tengo claro si solo hay uno o hay varios porque la documentación es confusa. Usando el SPI hardware debería de igualarse la velocidad con el código que he hecho.
*Es lento en ejecución, en depuración es mucho más rápido que compilar, tarda 0s en ejecutar probar, volver a cambiar...
Ya es manía de cada uno, a mí me gusta muchísimo más la sintaxis de python que la de todo lo que he probado hasta ahora. Esta placa se puede programar en C pero ni lo he intentado.
La porquería del Phyton, que se ha transformado en algo parecido al VisualBasic para los que no tienen NPI de diseño de software....
Parecido al VB...,"cualquier mermo puede programar en Phyton"...
Me declaro memo entonces.
¿has probado su sistema de tablas, tuplas etc y lo has comparado con cualquier otro lenguaje?
Indudablemente python consume mas recursos, pero es que me cuesta lo mismo una cpu de 10mips que una de 100 y es ideal para memos por no compilar 0s entre prueba y prueba.
Quizás sea deformacion del basic de los 80 en lo que aprendí a programar o será por ser memo, el caso es que me encuentro mas comodo usando python que C o que cualquier otra cosa.
Evidentemente cada uno que programe como quiera.
Voy a investigar un poco más que hace con el ensamblador, si lo compila o lo interpreta porque no tengo claro como un intérprete usa el ensamblador que como su nbre indica se "ensambla"≈"compila".