Autor Tema: CHAT GPT y microcontroladores pic  (Leído 514 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado dstar1

  • PIC10
  • *
  • Mensajes: 4
CHAT GPT y microcontroladores pic
« en: 11 de Agosto de 2024, 23:31:19 »
ALGUIEN HA USADO ALGUNA VEZ CODIGO MAQUINA??
Hola, soy un aficionado a los microcontroladores pics y quisiera compartir mi experiencia en cuanto a chat gpt y los pics. Resulta que estoy usando chatgpt para programas de pic 16f84, aunque mis resultados han sido mixtos, programas en c y ensamblador funcionales, otros no tanto.  Quise ir mas alla y empece a pedir programas en codigo maquina, sorprendentemente si me proporciono el codigo maquina, aunque, no resulto en ninguno, daba el programa en ensamblador, luego el codigo maquina, cabe decir que el programa era simplemente prender un led, osea poner un pin especifico  en estado alto, aqui viene lo raro, el codigo que me daba y el que yo compilaba eran casi iguales, las lineas se diferenciaban en 6 letras o numeros de una linea del codigo, solo que el del chatgpt no funciona, marca error checksum,  y el de mplab compilado si, era como si la accion especifica de poner pin alto, no lo diera correctamente. Aclaro, solo uso el lenguaje ensamblador antiguo, que es el que manejo y me da el chat gpt. Intente "Educar" al chat gpt diciendole su error, pero nunca lo corrigio. Alguien ha intentado hacer algo parecido??, agradezco sus comentarios

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 965
Re:CHAT GPT y microcontroladores pic
« Respuesta #1 en: 12 de Agosto de 2024, 00:26:25 »
ALGUIEN HA USADO ALGUNA VEZ CODIGO MAQUINA??
Solo cuando era estudiante, y era porque a los kit de desarrollo con 6800  había que ingresárselo así , en hexadecimal.
Disculpen, me invadió la nostalgia...

Citar
...Quise ir mas alla y empece a pedir programas en codigo maquina, sorprendentemente si me proporciono el codigo maquina, aunque, no resulto en ninguno, daba el programa en ensamblador, luego el codigo maquina, cabe decir que el programa era simplemente prender un led, osea poner un pin especifico  en estado alto, aqui viene lo raro, el codigo que me daba y el que yo compilaba eran casi iguales, las lineas se diferenciaban en 6 letras o numeros de una linea del codigo, solo que el del chatgpt no funciona, marca error checksum, 
No tiene nada de raro, ChatGPT con las sumas es peor que Maduro.

En cada línea del .hex , la suma de los bytes debe ser 0x00  (sumando en 8bits).  O sea, el último byte debe ser el complemento a 2 de la suma del resto.
ChatGPT es "de letras" , que sume mal es natural.

Citar
... Intente "Educar" al chat gpt diciendole su error, pero nunca lo corrigio. Alguien ha intentado hacer algo parecido??
En otros temas funciona, pero con lo que implicase matemáticas fue fracaso total, aunque debo reconocer que algo ha mejorado.


Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re:CHAT GPT y microcontroladores pic
« Respuesta #2 en: 12 de Agosto de 2024, 07:01:50 »
En asembler no, pero en C si lo he usado para la creación de librerías y pasa lo mismo. Lo mismo en una línea en el comentario te indica que tal bit es puesto a 1 y sin embargo te lo esta declarando a 0, o también hacerse un lio con los paréntesis en las comparaciones y cambiarte las prioridades de los términos. En general es una buena herramienta que ahorra mucho tiempo pero por el momento necesitas saber lo que estas haciendo, porque necesitaras retocar el código para que sea operativo y digo por el momento, porque a la velocidad que va dentro de poco lo hará perfecto.
Saludos desde Granada, España.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:CHAT GPT y microcontroladores pic
« Respuesta #3 en: 12 de Agosto de 2024, 21:16:57 »
Chat GTP (y otros similares) en programación  te son útiles cuando ya tienes un nivel por lo menos medio en un tema particular.

Es una ayuda, porque te permite visualizar o tener una idea de como hacer algo, te muestra un o varios caminos para una solución, pero no es perfecto, y como tu debes tener experiencia en el tema en particular, tienes la capacidad, de corregir errores (que casi siempre los genera) y en cierta manera mejorarlo.

Para un novato, puede ser todo lo contrario, lo confunde, y le hace perder tiempo.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 571
Re:CHAT GPT y microcontroladores pic
« Respuesta #4 en: 13 de Agosto de 2024, 16:11:32 »
Hola, te comento mí opinión. Utilizar chat GPT para programar, puede resultar una experiencia "divertida". Ahora bien, si piensas utilizar a esa herramienta para que haga todo por ti, estamos perdidos!
Programar es arte, no hay una única manera de hacerlo, al igual como la música, cada uno le da la impronta según su estilo.
En resumen, si quieres dedicarte a la programación, deberás programar!
« Última modificación: 13 de Agosto de 2024, 16:13:54 por Robert76 »

Desconectado dstar1

  • PIC10
  • *
  • Mensajes: 4
Re:CHAT GPT y microcontroladores pic
« Respuesta #5 en: 13 de Agosto de 2024, 22:32:49 »
bueno aqui va lo que me da de error

este si funciona
:020000040000FA
:0C0000000128831600308600831286144D
:02400E00F13F80
:00000001FF

este no
:020000040000FA
:0C00000001861683018612831686
:02400E00F13F80
:00000001FF

el que funciona esta compilado con mplab y el otro lo da chat gpt, antes era fallo en las ultimas 6 letra de la linea 2, ahora se extendio
86144D
1861683018612831686

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:CHAT GPT y microcontroladores pic
« Respuesta #6 en: 13 de Agosto de 2024, 23:13:09 »
bueno aqui va lo que me da de error

este si funciona
:020000040000FA
:0C0000000128831600308600831286144D
:02400E00F13F80
:00000001FF

este no
:020000040000FA
:0C00000001861683018612831686
:02400E00F13F80
:00000001FF

el que funciona esta compilado con mplab y el otro lo da chat gpt, antes era fallo en las ultimas 6 letra de la linea 2, ahora se extendio
86144D
1861683018612831686

Primero, aprende y entiende que significa  cada línea en un archivo hexadecimal.

https://es.wikipedia.org/wiki/HEX_(Intel)

Luego, interpreta los datos que son instrucciones en ensamblador, puede tomar las hojas de  datos del microcontrolador, para entender el Opcode de cada intrucción:

https://www.micro-examples.com/public/microex-navig/doc/087-pic16-secret-opcode.html

Dominado estas dos cosas, te darás cuenta que está mal, que es lo que el chatGTP intentó hacer.

Como escribí antes, si ya dominas el tema, te darás cuenta de sus errores.

Luego, podrías pedirle que cada línea, te explique que significa en ensamblador, y te darás cuenta que tan hábil es.

PD.

Le he pedido que convierta en ensamblador las líneas hex que has publicado y le he dicho que me explique porque no funciona, esto ha respondido:

Citar
Vamos a desensamblar ambos códigos para convertirlos en instrucciones en ensamblador para el PIC16F84 y luego analizar la diferencia entre ellos.
Código que funciona:


0128 → MOVLW 0x28 ; Cargar literal 0x28 en W
8316 → MOVWF 0x16 ; Mover W a la dirección 0x16
0030 → CLRW ; Limpiar el registro W (W = 0)
8600 → MOVWF 0x00 ; Mover W (que ahora es 0) a la dirección 0x00
8312 → MOVWF 0x12 ; Mover W (que es 0) a la dirección 0x12
8614 → MOVWF 0x14 ; Mover W (que es 0) a la dirección 0x14
Código: ASM
  1. MOVLW 0x28
  2.     MOVWF 0x16
  3.     CLRW
  4.     MOVWF 0x00
  5.     MOVWF 0x12
  6.     MOVWF 0x14

Código que no funciona:

0186 → MOVWF 0x86 ; Mover W al registro 0x86 (INDF con FSR = 6)
1683 → BSF 0x03, 6 ; Configurar bit 6 del registro STATUS (cambiar al banco 1)
0186 → MOVWF 0x86 ; Mover W al registro 0x86 (INDF con FSR = 6)
1283 → BCF 0x03, 6 ; Limpiar bit 6 del registro STATUS (volver al banco 0)
1686 → BSF 0x06, 6 ; Configurar bit 6 de FSR (en banco 0)

Código: ASM
  1. MOVWF 0x86  ; No tiene sentido aquí porque FSR no está configurado
  2.     BSF   0x03, 6  ; Cambia al banco 1
  3.     MOVWF 0x86  ; Mueve W a 0x86 (INDF) pero FSR debería estar configurado
  4.     BCF   0x03, 6  ; Vuelve al banco 0
  5.     BSF   0x06, 6  ; Configura bit 6 de FSR (pero ya estamos en banco 0)

Análisis de la Diferencia
En el primer código (el que funciona), las instrucciones son claras y tienen una secuencia lógica. Se carga un valor en W (MOVLW 0x28), se guarda en registros (MOVWF), y se limpian los registros necesarios.

En el segundo código (el que no funciona), las instrucciones están intentando operar con el registro 0x86, que es el registro INDF (Indirect Register), pero el registro FSR (que apunta a INDF) no está configurado correctamente, por lo que se apunta a una dirección indefinida o incorrecta.

Conclusión
El segundo código no funciona porque está realizando operaciones en un registro indirecto (INDF) sin haber configurado correctamente el puntero FSR. Además, las operaciones realizadas en el banco incorrecto hacen que las instrucciones no se ejecuten como se espera. Esto puede llevar a un comportamiento inesperado o fallos en el programa.


Ahora bien, ¿Qué tan ciertas son estás conclusiones? La única manera es entender los dos primeros temas que mencione, ya son muchos años que no veo esto del ensamblador, pero te corresponde a tí, verificar si el chatGTP está en lo cierto.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 965
Re:CHAT GPT y microcontroladores pic
« Respuesta #7 en: 14 de Agosto de 2024, 00:57:49 »
...
este no
:020000040000FA
:0C00000001861683018612831686
:02400E00F13F80
:00000001FF
...

Esa línea es cualquier cosa. 
En el comienzo, el 0C = 12dec  es la longitud del campo de datos (01 86 16 83 01 86 12 83 16) --> 9 bytes en lugar de 12   WTF!
Además, el último byte (86) es el checksum, y de checksum nada, tiene mas pinta de dato.
Y como ya te mostraron, el código correspondiente no tiene sentido.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re:CHAT GPT y microcontroladores pic
« Respuesta #8 en: 16 de Septiembre de 2024, 20:15:22 »
triste y lastimosamente yo no he dado pie con bola con el chat gpt para ninguno de los proyectos que he realizado.

desconozco si las razones tengan que ver con el uso Free (es decir que en modo free es limitado), pero por mas que trato de educar a la IA para hacerle entender la tarea que quiero que me automatice, nunca entiende y al final termina repitiendo una seguidilla de soluciones sin sentido.

lo cierto de caso, es que hasta ahora, para mi el buscador de google sigue siendo de mayor utilidad que estas IA personalizadas a areas en especifico.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:CHAT GPT y microcontroladores pic
« Respuesta #9 en: 17 de Septiembre de 2024, 02:31:17 »
Prueba con lenguaje C. A mí me ha dado resultados aceptables.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re:CHAT GPT y microcontroladores pic
« Respuesta #10 en: 17 de Septiembre de 2024, 14:20:37 »
Yo últimamente lo estoy usando para lenguaje C y para lenguaje YAML y estoy encantado con los resultados.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re:CHAT GPT y microcontroladores pic
« Respuesta #11 en: 19 de Septiembre de 2024, 08:03:25 »
Pues como dice Manolo yo estoy encantado; el otro día estaba revisando un código en ensamblador y cuando tienes una duda solo tienes que pedirle: "explica sobe tal nemónico" y te lo saca todo sin tener que buscar nada, o escribe tal librería para tal componente y comenta las líneas, luego solo tienes que ir revisando las funciones y corrigiendo lo necesario, pero es "muuuuucho" mejor que comenzar desde cero a escribir la librería.  :-/
« Última modificación: 21 de Septiembre de 2024, 08:13:56 por dogflu66 »
Saludos desde Granada, España.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re:CHAT GPT y microcontroladores pic
« Respuesta #12 en: 20 de Septiembre de 2024, 02:51:10 »
Es que muchas veces parece que hace magia. Ayer llevaba un rato peleándome con un bug y "él" lo encontró en milisegundos.