Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

ChatGPT et l'assembleur PIC
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1415
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#1 Message par F6FCO » sam. 15 avr. 2023 14:19

Hello tous les programmeurs fous,

Ca va vous ? pas de projet de programmation ASM en ce moment mais j'ai eu l'idée de demander à ChatGPT ce qu'elle en pensait. Désolé je n'ai pas le datasheet de ChatGPT :wink:
J'ai posté çà ici parce que çà concerne l'assembleur.


Voici une copie d'écran de notre discussion préliminaire, j'ai été volontairement laconique sur les spécifications du programme demandé pour prolonger la discussion, c'est elle qui a décidé de me pondre un programme qui allume une led. En étant plus précis peut-être pourrait-on lui demander des choses plus complexes, après à voir si çà fonctionne vraiment, mais en sachant comment fonctionne cette IA je suis dubitatif :

Capture chatgpt.JPG


Et voici le code que l'IA m'a gentiment généré, je ne l'ai pas testé mais à lire le code en diagonale çà m'a l'air correct:

Code : Tout sélectionner

LIST    P=18F4525
#include    <p18f4525.inc>

; Configuration des registres
CONFIG OSC
=HS, FCMEN=OFF, IESO=OFF
CONFIG PWRT
=ON, BOREN=OFF, BORV=3
CONFIG WDT
=OFF
CONFIG PBADEN
=OFF, LPT1OSC=OFF, MCLRE=ON
CONFIG STVREN
=ON, LVP=OFF, XINST=OFF
CONFIG DEBUG
=OFF

; Définition des constantes
LED_PIN     EQU     0           
; La LED est connectée au port B0
DELAY_TIME  EQU     500         
; Délai en millisecondes

; Initialisation du programme
ORG     0x0000
GOTO    Main

; Interruptions
ORG     0x0008
RETFIE

; Fonction de délai
Delay   MOVWF   0x20        
; Charge le registre W avec le temps de délai
        CLRF    0x21        
; Initialise le registre de comptage
DelayLoop
        DECFSZ  0x20
,1      ; Décrémente le compteur de temps
        GOTO    DelayLoop   
; Boucle jusqu'à ce que le compteur atteigne zéro
        DECFSZ  0x21,1      ; Décrémente le compteur de boucles
        GOTO    DelayLoop   ; Boucle jusqu'
à ce que le compteur atteigne zéro
        RETURN

; Programme principal
Main    BSF     TRISB
,LED_PIN   ; Configure la broche de la LED en sortie
        CLRF    PORTB           
; Initialise le port B à zéro
MainLoop
        BSF     PORTB
,LED_PIN   ; Allume la LED
        CALL    Delay           
; Attendre DELAY_TIME millisecondes
        BCF     PORTB
,LED_PIN   ; Éteint la LED
        CALL    Delay           
; Attendre DELAY_TIME millisecondes
        GOTO    MainLoop        
; Boucle indéfiniment


Puis j'ai continué mon petit jeu en poussant un peu plus loin:

Capturechatgpt poulailler.JPG


et le code généré par ChatGPT pour une gestion de trappe poulailler, pour avoir fait une telle application je trouve ce programme simpliste et non fonctionnel en réel, pas de gestion de début et fin de course de la trappe, etc.
Mais c'est amusant :-D

Code : Tout sélectionner

LIST    P=18F4525
#include    <p18f4525.inc>

; Configuration des registres
CONFIG OSC
=HS, FCMEN=OFF, IESO=OFF
CONFIG PWRT
=ON, BOREN=OFF, BORV=3
CONFIG WDT
=OFF
CONFIG PBADEN
=OFF, LPT1OSC=OFF, MCLRE=ON
CONFIG STVREN
=ON, LVP=OFF, XINST=OFF
CONFIG DEBUG
=OFF

; Définition des constantes
LDR_PIN     EQU     AN0         
; Broche pour la photorésistance
MOTOR_PORT  EQU     PORTC       
; Port pour le moteur pas-à-pas
CW          EQU     0b00000110  
; Séquence de commande pour faire tourner le moteur dans le sens des aiguilles d'une montre
CCW         EQU     0b00001001  ; Séquence de commande pour faire tourner le moteur dans le sens inverse des aiguilles d'
une montre
DELAY_TIME  EQU     1000        
; Délai en millisecondes entre chaque mesure de luminosité

; Initialisation du programme
ORG     0x0000
GOTO    Main

; Interruptions
ORG     0x0008
RETFIE

; Fonction de délai
Delay   MOVWF   0x20        
; Charge le registre W avec le temps de délai
        CLRF    0x21        
; Initialise le registre de comptage
DelayLoop
        DECFSZ  0x20
,1      ; Décrémente le compteur de temps
        GOTO    DelayLoop   
; Boucle jusqu'à ce que le compteur atteigne zéro
        DECFSZ  0x21,1      ; Décrémente le compteur de boucles
        GOTO    DelayLoop   ; Boucle jusqu'
à ce que le compteur atteigne zéro
        RETURN

; Fonction de mesure de la luminosité
MeasureLight
        CLRF    ADRESH      
; Initialise le registre ADRESH à zéro
        CLRF    ADRESL      
; Initialise le registre ADRESL à zéro
        BSF     ADCON0
,0    ; Active le module de conversion AD
        NOP
        NOP
        NOP
        NOP
        BTFSC   ADCON0
,1    ; Attends que la conversion soit terminée
        GOTO    
$-1
        BCF     ADCON0
,0    ; Désactive le module de conversion AD
        MOVF    ADRESH
, W   ; Charge le résultat de la conversion dans le registre W
        RETURN

; Programme principal
Main    BSF     TRISC
,0     ; Configure la broche du moteur pas-à-pas en sortie
        CLRF    MOTOR_PORT  
; Initialise le port du moteur pas-à-pas à zéro
        BSF     TRISA
,0     ; Configure la broche de la photorésistance en entrée
MainLoop
        CALL    MeasureLight    
; Mesure la lumin
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par F6FCO le sam. 15 avr. 2023 14:35, modifié 1 fois.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

ChatGPT et l'assembleur PIC
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#2 Message par satinas » sam. 15 avr. 2023 14:35

Salut F6FCO, t'en avais marre des horloges numériques, alors retour à la base :)

Il se plante au moins sur le TRISB, cela permet tout de même d'avoir une base de départ et après analyse de trouver les éventuelles erreurs, et l'améliorer.

ChatGPT et l'assembleur PIC
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1415
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#3 Message par F6FCO » sam. 15 avr. 2023 14:43

Salut Satinas,

J'ai laissé tomber les horloges numériques, pas assez marrant à faire, pour me consacrer pendant un temps sur les horloges en bois http://www.metabricoleur.com/t23421-con ... te-en-bois
Mais j'ai quelques projets PIC rigolos qui me chatouillent derrière la nuque :wink:


Pour ChatGPT ce n'est pas lui (ou elle?) qui se plante mais le gars qui à pondu le programme. Je me suis intéressé de près à cette IA et ce n'est pas une IA de programmation, elle serait bien incapable de pondre un algorigramme avec plein de conditions pour un problème précis et complexe, et elle n'est pas prête de remplacer nos petits cerveaux.
C'est en réalité une IA de complétion de texte et pour l'entraîner ils lui ont fait avaler une tonne de bouquins numérisés, elle a accès à Google et surtout Wikipédia, on peut trouver les pourcentages dont chaque source à contribué sur le net si on creuse un peu la question.
Il explique tout çà mieux que moi: https://www.youtube.com/watch?v=7ell8KEbhJo

Donc tout ce qu'elle produit vient de ce qu'elle a pu lire auparavant, elle a du dénicher çà quelque part dans un bouquin ou sur le web. Et peut-être qu'en lui posant les bonnes questions elle pourrait ressortir mon programme PIC pour la gestion de mon poulailler puisqu'il est sur mon site avec le code en libre-service.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

ChatGPT et l'assembleur PIC
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1415
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#4 Message par F6FCO » sam. 15 avr. 2023 14:58

Je suis vexé, elle ne connait pas le projet 4L1C3 :evil: :furieux:
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

ChatGPT et l'assembleur PIC
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2618
Enregistré en : juillet 2016
Localisation : Terre

#5 Message par Temps-x » dim. 16 avr. 2023 13:11

Bonjour F6FCO, satinas, et tout le forum,

:lol: Après le C+, il y a maintenant ChatGPT qui si mets, la fainéantise nous pousse toujours plus loin.

Parfois je me demande, si une A.I. n'est pas plus intelligente que certain président.

Mécanique très intéressante les horloges, avec un petit mouvement on arrive à faire tourner des grosses mécaniques.

Mon avis sur ChatGPT, ses marrants, mais, peut t'elle me trouvait un circuit qui à un convertisseur ADC 10 bits à 10 Msps .....

Défi lancé ... :langue:

Merci ! pour ce retour d'information, qui mérite d'être évoquer.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

ChatGPT et l'assembleur PIC
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1415
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#6 Message par F6FCO » dim. 16 avr. 2023 19:00

Temps-x a écrit :Parfois je me demande, si une A.I. n'est pas plus intelligente que certain président.

J'ai la réponse si tu veux ! mais qui suis-je moi qui ne suis rien et qui n'ose pas traverser la rue...

Timide avec les IA ? je lui ai posé la question pour toi :sifflotte:

Capture adc.JPG


La suite est pas mal:

Capture 2.JPG


Tu as des préoccupations supplémentaires ? :langue:
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

ChatGPT et l'assembleur PIC
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2618
Enregistré en : juillet 2016
Localisation : Terre

#7 Message par Temps-x » dim. 16 avr. 2023 20:19

Bonsoir F6FCO, et tout le forum,

:+1: pour ChatGPT et F6FCO tu (la, le :?: ) remercieras de ma par..... :roll: quand je pense que j'ai posé cette question sur le forum Abcelectronique et j'ai pas eu de réponse pour me dirigé sur un circuit spécialisé......

Voilà les résultats que ChatGPT m'a proposé

AD9218 : 10-Bit vitesse sélectionnable 40MSPS, 65MSPS, 80MSPS, 105MSPS Ok :eek: c'est rapide, et avec une vitesse réglable
MAX11905 : 20-Bit vitesse 1.6Msps Bad
LTC2262 : 12 bits vitesse 150Msps Ok :eek: c'est rapide, et il existe d'autre choix dans cette série
ADS804E : 12 bits vitesse 10MSPS Ok
MCP3008 : 10 bits vitesse 200kSPS Bad

Pour faire la pige à ChatGPT j'ai commandé 3 PIC24FJ128GC006 12 bits vitesse de l'adc 10Msps

Actuellement avec mon vieux ordinateur qui est sous Windows XP pack3 je ne peux pas me connecter sur ChatGPT, car il exige un système d'exploitation récent.... :roll: il ne veut pas discuter avec les vieux...... :-)

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

ChatGPT et l'assembleur PIC
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1415
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#8 Message par F6FCO » ven. 12 mai 2023 11:16

Je me suis encore un peu amusé avec elle (c'est féminin une IA non ?).
Je lui ai demandé de me donner les initialisations pour un PIC18F4525 pour programmer en assembleur, sans rien préciser de plus.
Elle mes les a bien données mais qu'avec des #PRAGMA.
Je lui ai répondu textuellement "Tu te gourres Chat, c'est des initialisations pour le C"
Vous me croirez si vous le voulez mais elle s'est excusée :lol:
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

ChatGPT et l'assembleur PIC
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#9 Message par Jérémy » ven. 12 mai 2023 15:03

:+1:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

ChatGPT et l'assembleur PIC
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#10 Message par paulfjujo » ven. 12 mai 2023 15:14

bonjour à tous,


F6FCO , TempsX avez-vous un acces prioritaire ?

je viens tout juste de tester chatGPT sur https://www.chatbotgpt.fr/
pour ma question concernant l'eeprom PIC ( section C)
il (le Chat ) ,elle (l'iA)
m'a deblatéré le code d'ecriture en Eeprom ..mais ce n'est pas ce que je voulais.
j'ai réitéré ma demande sous la forme
comment definir l'adresse d'ecriture en 0x100 de __EEPROM_DATA (0,0,'2','3','0','5','1','0');


réponse :
Désolé, GPT est très populaire, je dois restreindre l'accès pour que tous puissent en bénéficier.
Vous pourrez à nouveau m'utiliser dans quelques jours.
avatar
Un Accès Prioritaire vous permet d'utiliser Chatbot GPT sans file d'attente et de poser autant de questions que vous le souhaitez.




Par ailleurs , notion de tokens
GPT-4, une version encore plus puissante de l'algorithme conversationnel capable d'une fenêtre contextuelle de 8 000 à 32 000 tokens.
Pour vous donner une idée, 32 000 tokens représentent environ 50 pages de texte,


je suis loin d'avoir atteint 50*8000/32000= 12 pages de texte !
Aide toi, le ciel ou FantasPic t'aidera


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 51 invités