MikroBasicPRO pour PIC (version 6.0.0) - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 42 sur 42

MikroBasicPRO pour PIC (version 6.0.0)



  1. #31
    gabuzo

    Re : MikroBasicPRO pour PIC (version6.0.0


    ------

    Citation Envoyé par Geococo31 Voir le message
    euh moi ça ne marche pas sans commenter les goto Oo
    Voir le mot en gras de ma réponse #16

    -----
    Je suis Charlie

  2. #32
    Geococo31

    Re : MikroBasicPRO pour PIC (version6.0.0

    J'ai ENFIN compri

    le programme se "build" et je peux le débugger sans problèmes
    cependant dans le passage :

    if portA.2=0 then 's'assure que la porte est fermÚ
    alarme
    end if

    lorsque je lance la simulation la "ligne de la simulation" passe bien sur "alarme" (et c'est normale car le portA.2 n'est conecté a rien dans le cadre de la simulation) néanmoins le ligne de simulation passe comme si de rien était sur la ligne alarme et passe desuite à la ligne end if sans executer les actions du sub alarme pourquoi?

    merci

  3. #33
    Biname

    Re : MikroBasicPRO pour PIC (version6.0.0

    Citation Envoyé par Geococo31 Voir le message
    J'ai ENFIN compri

    le programme se "build" et je peux le débugger sans problèmes
    cependant dans le passage :

    if portA.2=0 then 's'assure que la porte est fermÚ
    alarme
    end if

    lorsque je lance la simulation la "ligne de la simulation" passe bien sur "alarme" (et c'est normale car le portA.2 n'est conecté a rien dans le cadre de la simulation) néanmoins le ligne de simulation passe comme si de rien était sur la ligne alarme et passe desuite à la ligne end if sans executer les actions du sub alarme pourquoi?

    merci
    On ne sait pas a quel code tu fais réfèrence ? On pourrait les regarder tous ... ! A mon avis tu vas trouver ?

    Bientôt il fera de grands cocoricos le pti poussin.

  4. #34
    Geococo31

    Re : MikroBasicPRO pour PIC (version6.0.0

    Citation Envoyé par Biname Voir le message
    On ne sait pas a quel code tu fais réfèrence ? On pourrait les regarder tous ... ! A mon avis tu vas trouver ?

    Bientôt il fera de grands cocoricos le pti poussin.
    je parle de celui-ci :

    program TESTE_SC
    ' Declarations section

    dim keypadPort as byte at portb

    'pour entrer le code on tape sur la touche "*" du keypad
    'on entre les 4 chiffres du code Ó chaque bon chiffre une led vert clignote
    'on valide son code, et remet en route par la touche "#"

    const codeporte as string[4]=(0,1,2,3) 'code a dÚfinir
    const sit as string[10]=(11,1,2,3,4,5,6,7,8,9) 'converti le code
    dim pchif as byte '1¦ chiffre du code (traduit)
    dim dchif as byte '2¦ chiffre du code (traduit)
    dim tchif as byte '3¦ chiffre du code (traduit)
    dim qchif as byte '4¦ chiffre du code (traduit)
    dim bt as byte 'valeur dites BoucheTrou
    dim n as byte 'pour trad du code

    sub procedure alarme 's'actionne si qlq'un ouvre la porte
    portA.3=1
    delay_ms(2000)
    portA.3=0
    delay_ms(1000)
    portA.3=1
    ' goto main
    end sub

    sub procedure vali 'permet prevenir que c'est "bien/bon"
    portA.1=1
    delay_ms(1500)
    portA.1=0
    ' return
    end sub

    sub procedure oups 'indique une erreur et renvoie au main
    dim i as byte 'valeur pour les for-next
    for i=0 to 3
    portA.0=1
    delay_ms(500)
    portA.0=0
    delay_ms(500)
    next i
    ' goto main
    end sub

    main:
    keypad_init()
    n=codeporte[0] 'traduit le code pour le programe
    pchif=sit[n]
    n=codeporte[1]
    dchif=sit[n]
    n=codeporte[2]
    tchif=sit[n]
    n=codeporte[3]
    qchif=sit[n]
    if portA.2=0 then 's'assure que la porte est fermÚ
    alarme
    end if

    Keypad_init()
    bt=Keypad_Key_Click() 'teste si l'on commence a entrer un code
    if bt=10 then
    vali ''Ó voir si je le laisse
    if portA.2=0 then
    alarme
    goto main
    end if
    while true 'boucle de teste du 1¦chiffre
    Keypad_init()
    bt=Keypad_Key_Click()
    if bt=pchif then
    break
    else
    if portA.2=0 then 'detection de sÚcuritÚ de la porte
    alarme
    goto main
    end if
    if bt=0 then 'detection si on ne rentre rien
    continue
    else 'detection si le chiffre est faux
    oups
    goto main
    end if
    end if
    wend
    while true 'boucle de teste du 2¦chiffre
    Keypad_init()
    bt=Keypad_Key_Click()
    if bt=dchif then
    break
    else
    if portA.2=0 then 'detection de sÚcuritÚ de la porte
    alarme
    goto main
    end if
    if bt=0 then 'detection si on ne rentre rien
    continue
    else 'detection si le chiffre est faux
    oups
    goto main
    end if
    end if
    wend
    while true 'boucle de teste du 3¦ chiffre
    Keypad_init()
    bt=Keypad_Key_Click()
    if bt=tchif then
    break
    else
    if portA.2=0 then 'detection de sÚcuritÚ de la porte
    alarme
    goto main
    end if
    if bt=0 then 'detection si on ne rentre rien
    continue
    else 'detection si le chiffre est faux
    oups
    goto main
    end if
    end if
    wend
    while true 'boucle de teste du 4¦ chiffre
    Keypad_init()
    bt=Keypad_Key_Click()
    if bt=qchif then
    break
    else
    if portA.2=0 then 'detection de sÚcuritÚ de la porte
    alarme
    goto main
    end if
    if bt=0 then 'detection si on ne rentre rien
    continue
    else 'detection si le chiffre est faux
    oups
    goto main
    end if
    end if
    wend
    while true
    Keypad_init()
    bt=Keypad_Key_Click()
    if bt=12 then 'on valide car 12 corespond Ó "#"
    break
    else
    if portA.2=0 then 'detection de sÚcuritÚ de la porte
    alarme
    goto main
    end if
    if bt=0 then 'detection si on ne rentre rien
    continue
    else 'detection si le chiffre est faux
    oups
    goto main
    end if
    end if
    wend
    vali
    portA.3=0 'desactivation de l'alarme
    delay_ms(5000) 'delai de sÚcu
    while true 'attente de la remise en route
    Keypad_init()
    bt=Keypad_Key_Click()
    if bt=12 then 'signal de remise en route
    vali
    break 'remise en route
    end if
    wend
    end if
    goto main
    end.

    'corespondance touche et numero des touches :
    ' 0 = 11 ; 1=1;2=2;3=3;4=4;5=5;6=6;7=7;8= 8;9=9;*=10;#=12

    voila voila

    #Vous me faites tellement rire avec vos comparaison #

  5. #35
    Biname

    Re : MikroBasicPRO pour PIC (version6.0.0

    Ici - mikroBasic V5.80 - ton code ne compile pas, la variable 'n' est déjà déclarée kidit ???
    J'ai déplace la ligne juste après main, voir doc portée des variables (variable scope en anglais)
    Et ça compile. Cette erreur cause aussi une erreur sur sub alarm ???

    main:
    dim n as byte 'pour trad du code

  6. #36
    gabuzo

    Re : MikroBasicPRO pour PIC (version6.0.0

    Chez moi ça compile (V 5.40) mais c'est toujours aussi indépatouillable.

    Autre chose qui me parait plus grave, on ne voit nul part une configuration du moindre registe.

    Chez microchip ça veut dire que tout tes ports sont configurés en entrées (valeur par défaut), que les entrées analogiques sont configurées comme telles (valeur par défaut). C'est sans doute pour ça que tu rencontres des problèmes au debuggage, pour qu'une sortie change d'état il faut que ce soit une sortie.

    Juste après le main on devrait trouver au minimun (après ça dépend du pic utilisé):
    trisa=X
    trisb=X
    option_reg=X
    cmcon=X
    Je suis Charlie

  7. #37
    Biname

    Re : MikroBasicPRO pour PIC (version6.0.0

    Citation Envoyé par gabuzo Voir le message
    Chez moi ça compile (V 5.40)
    "17 314 Identifier "n" has been already declared in "P18F45K22.mbas" Cocorico_2.mbas"

    C'est lié au processeur par défault ici ... que je n'ai _jamais_ utilisé

    C'est malin d'avoir déclaré N globale dans cet include


    mais c'est toujours aussi indépatouillable.

    Autre chose qui me parait plus grave, on ne voit nul part une configuration du moindre registe.

    Chez microchip ça veut dire que tout tes ports sont configurés en entrées (valeur par défaut), que les entrées analogiques sont configurées comme telles (valeur par défaut). C'est sans doute pour ça que tu rencontres des problèmes au debuggage, pour qu'une sortie change d'état il faut que ce soit une sortie.

    Juste après le main on devrait trouver au minimun (après ça dépend du pic utilisé):
    trisa=X
    trisb=X
    option_reg=X
    cmcon=X
    Oui, il y a ça aussi !

    Il faudrait commencer par une code plus élémentaire ... pour ne pas dire basic !
    Dernière modification par Biname ; 19/04/2013 à 08h52.

  8. #38
    gabuzo

    Re : MikroBasicPRO pour PIC (version6.0.0

    Et se pencher un poil sur la data sheet du pic...

    Sans compter qu'utiliser un 18F45K22 (36 I/O quand même) pour gérer 5 entrées logiques et une sortie TOR c'est vraiment du gaspillage (et de la recherche d'emmerdes quand on apprend à programmer).

    Un bête 16f62x voire même un ancestral 16f84 est capable de faire la même chose et même ces bestioles là seraient largement surdimensionnées, un 12f629/675 suffirait mais ça serait peut-être un peu acrobatique .
    Dernière modification par gabuzo ; 19/04/2013 à 09h44.
    Je suis Charlie

  9. #39
    Biname

    Re : MikroBasicPRO pour PIC (version6.0.0

    Citation Envoyé par gabuzo Voir le message
    Et se pencher un poil sur la data sheet du pic...

    Sans compter qu'utiliser un 18F45K22 (36 I/O quand même) pour gérer 5 entrées logiques et une sortie TOR c'est vraiment du gaspillage (et de la recherche d'emmerdes quand on apprend à programmer).

    Un bête 16f62x voire même un ancestral 16f84 est capable de faire la même chose et même ces bestioles là seraient largement surdimensionnées, un 12f629/675 suffirait mais ça serait peut-être un peu acrobatique .
    Oui pour le 18F45K22, je sais pas comment cette configuration est apparue ?

    Je venais suggérer un PIC12F683, 8 pattes, 6 IO, 4 AD 10 bit, 2 timer, 1 comparateur, OScint 8MHz 1%, on en trouve 10 pour 6€ sur Ebay port compris, ça fait moins mal quand on en grille un !

  10. #40
    invite39886733

    Re : MikroBasicPRO pour PIC (version6.0.0

    hello on est en 2013! l'assembleur c'est a mettre a la benne!

  11. #41
    Biname

    Re : MikroBasicPRO pour PIC (version6.0.0

    Citation Envoyé par hulk69 Voir le message
    hello on est en 2013! l'assembleur c'est a mettre a la benne!
    Quelqu'un a parlé d'assembleur ?

  12. #42
    Geococo31

    Re : MikroBasicPRO pour PIC (version6.0.0

    moi je partais vers un PIC16F84 ou 16F877

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. [Brun] PROBLEME CONNEXIONS HDMI (version 1.3, version 1.4,...)
    Par invite3fb29b04 dans le forum Dépannage
    Réponses: 2
    Dernier message: 07/08/2012, 07h30
  2. Réponses: 2
    Dernier message: 30/09/2011, 13h45
  3. après l'apéro, l'entrée version pic du midi
    Par invite757da740 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 24
    Dernier message: 11/08/2009, 23h56
  4. TOEFL : version papier ou version internet ?
    Par invite1d7dd717 dans le forum Orientation après le BAC
    Réponses: 1
    Dernier message: 10/06/2009, 18h48
  5. Réponses: 4
    Dernier message: 26/10/2007, 23h05
Découvrez nos comparatifs produits sur l'informatique et les technologies.