Banner publicitario de PCBWay

[Tutorial] y manejo de Proton IDE

Creo que me pasare a lenguaje C, en basic de verdad no he logrado hacer nada. 😥
Recuerda que las herramientas son solo eso y el responsable del éxito o no es quien la maneja.

Con Proton se puede hacer eso y mucho mas pero se debe leer el manual a cerca de las instrucciones que soporta(incluida en el propio entorno de programación) y la forma en que se deben utilizar para que el compilador las interprete.
En C es lo mismo, si no sabes como escribir(estructura) del programa y desconoces las instrucciones y su uso, obtendrás el mismo resultado(nada funciona) solo que habrás probado una herramienta diferente.

Suerte.
 
Recuerda que las herramientas son solo eso y el responsable del éxito o no es quien la maneja.

Con Proton se puede hacer eso y mucho mas pero se debe leer el manual a cerca de las instrucciones que soporta(incluida en el propio entorno de programación) y la forma en que se deben utilizar para que el compilador las interprete.
En C es lo mismo, si no sabes como escribir(estructura) del programa y desconoces las instrucciones y su uso, obtendrás el mismo resultado(nada funciona) solo que habrás probado una herramienta diferente.

Suerte.
Así es un caño el basic solo pon ganas
 
Mini aporte para novatos.
Siempre había tenido problemas usando decimales en PROTON IDE, usaba la variable float que consume mucha memoria del Micro. Ahora
con lo de la IA aproveche para consultar sobre el tema y las indicaciones mostradas me han funcionado muy bien, claro esta que no
he utilizado toda la información. Así que cualquier error quejarse con Google. :D

Como usar decimales sin utilizar la variable Float en PROTON IDE creado con la IA Gemini de Google.
 

Adjuntos

  • Como usar decimales en PROTON IDE sin utilizar variables float.pdf
    855.8 KB · Visitas: 13
Mini aporte para novatos.
Siempre había tenido problemas usando decimales en PROTON IDE, usaba la variable float que consume mucha memoria del Micro. Ahora
con lo de la IA aproveche para consultar sobre el tema y las indicaciones mostradas me han funcionado muy bien, claro esta que no
he utilizado toda la información. Así que cualquier error quejarse con Google. :D

Como usar decimales sin utilizar la variable Float en PROTON IDE creado con la IA Gemini de Google.
veo que trabajaste el punto flotante con una variable tipo word... Tambien podes manejarlo con algo mucho mas chico del tipo byte... Si la variable no es muy grande y no supera los 255, podes hacer lo mismo con una variable de 8 bits tipo byte utilizando la notación del punto fijo.
Tanto en picbasic pro como en proton ide, lo que hacer es escalar la lectura multiplicándolo por 10,100,etc; Lo guardas como un entero y cuando lo vas a imprimir, recién ahí pones el punto decimal.

Código:
Device = 16F877A
Dim Voltaje As Byte
Voltaje = 125 ' Representa 12.5 (125 / 10)

Print At 1, 1, Dec (Voltaje / 10), ".", Dec1 (Voltaje // 10)  ' Resultado: 12.5

Si la variable requiere trabajar con numero superiores a 255, ahí si podemos implementar una variable de 16bits tipo Word y seguir el mismo paso de escalar por 10 / 100 / etc.
En Picbasic pro la técnica es exactamente igual:

Código:
ValorByte var byte
Entero var byte
Decimal1 var byte
Decimal2 var byte

ValorByte = 125 ' Supongamos que recibimos un valor escalado (ej. 125 para 1.25V)

' Separar decimales para mostrar (Formato X.XX)
Entero = ValorByte / 100
Decimal1 = (ValorByte // 100) / 10
Decimal2 = ValorByte // 10

' Mostrar en LCD (ejemplo hipotético)
LCDOUT $FE, 1, DEC Entero, ".", DEC Decimal1, DEC Decimal2, "V"
' Resultado en pantalla: 1.25V

Tene en cuenta que si requeris hacer un flujo de control que maneja datos con variables que requieren punto flotante, el consumo de memoria al implementar estos arreglos seria practicamente igual o superior que manejar directamente las variables como tipo FLOAT. Hay que ver cuando sirven y cuando no. Saludos
 
Hace muuuuchos años (principio de los 90s) tenía que controlar un motor con mando directo y necesitaba un tiempo de muestreo de 1ms como máximo. Cuando probé la biblioteca de punto flotante me daba un tiempo de calculo superior a los 30ms, asi que me tuve que hacer mi propia biblioteca de punto fijo. Yo usaba un 80C196KB y programaba en PLM (un lenguaje de INTEL parecido al Pascal) y la biblioteca la tuve que escribir en assembler de ese micro.
Yo usaba 32 bits para cada número, donde los 24 superiores era la parte entera y los 8 menos significativos era la parte decimal (el micro era de 16 bits pero manejaba 32 sin problemas, para las multiplicaciones/divisiones por hardware). Le ventaja de usar 8 bits para los decimales era que me daban una resolución de 4 milésimas, pero las conversiones eran mediante desplazamientos a izquierda o derecha, siempre usando potencias enteras de 2 y zafaba de multiplicar/dividir por potencias de 10 que eran mucho mas lentas.
En resumen, bajé a 850us el tiempo de muestreo usando ese micro que corría a 16MHz...
 
Atrás
Arriba