porblème d'erreur avec MIKROBASIC
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

porblème d'erreur avec MIKROBASIC



  1. #1
    foudefoot

    porblème d'erreur avec MIKROBASIC


    ------

    bonjour à tous,
    je viens de faire une programme sur MikroBasic, et il me donne une erreur que je n'arrive pas à corriger. Quelq'un peut-il m'aider?
    Voci le programme:
    program Temperature

    Code:
    ' Declarations section
    dim U1 as integer
        U2 as integer
        j1 as byte
        j2 as byte
        j3 as byte
        j4 as byte
        texte as char[16]
        texte1 as char[4]
        texte2 as char[16]
        texte3 as char[4]
     ' inittialisatio du port afficheur
    dim LCD_RS as sbit at RB4_bit
        LCD_EN as sbit at RB5_bit
        LCD_D7 as sbit at RB3_bit
        LCD_D6 as sbit at RB2_bit
        LCD_D5 as sbit at RB1_bit
        LCD_RS_Direction as sbit at TRISB4_bit
        LCD_EN_Direction as sbit at TRISB5_bit
        LCD_D7_Direction as sbit at TRISB3_bit
        LCD_D6_Direction as sbit at TRISB2_bit
        LCD_D5_Direction as sbit at TRISB1_bit
        LCD_D4_Direction as sbit at TRISB0_bit
    
    
    main:
     ' Initialisation des ports
     texte = "Température ext:"
     texte2 = "Température int:"
     adcon1 = 255
     PORTE = 255
     PORTB = 0
     PORTB = 0xFF
     TRISE = 255
     TRISB = 0
     TRISB = 0xFF
     Lcd_Init
     Lcd_Cmd(_LCD_CURSOR_OFF)
     Lcd_Out(1,1,texte)
     'programme principale des températures
       while true
             ow_reset(PORTE,2)
             ow_write(PORTE,2,$CC)
             ow_write(PORTE,2,$44)
             delay_us(120)
             ow_reset(PORTE,2)
             Ow_write(PORTE,2,$CC)
             ow_write(PORTE,2,$BE)
             delay_ms(1000)
             j1 = ow_read(PORTE,2)
             J2 = ow_read(PORTE,2)
             j1 = j1 >> 1
             ByteToStr(j1,texte1)
             Lcd_Out(2,6,texte1)
             Lcd_Chr(2,9,233)
             Lcd_Chr(2,10,"C")
             delay_ms(500)
       wend
    end
    et voici l'erreur:
    38 303 Identifier "Lcd_Init" was not declared Horloge.mbas
    38 304 Syntax error: Expected "end" but "Lcd_Init" found Horloge.mbas
    39 304 Syntax error: Expected "." but "Lcd_Cmd" found Horloge.mbas
    0 102 Finished (with errors): 04 déc. 2011, 16:10:04 Horloge.mbppi

    Merci pour vos réponses.
    Denis

    -----

  2. #2
    invite5637435c

    Re : porblème d'erreur avec MIKROBASIC

    Bonsoir,

    merci d'utiliser les balises de code pour une meilleure lisibilité.
    Pour cette fois j'ai fait ce qu'il faut.

    Pour répondre à ta question il faut donner tous les détails de ton compilateur (version notamment).
    Si ta version est récente il faut vérifier que tu as bien coché les fonctions que tu utilises dans l'environnement de développement.
    @+

  3. #3
    invite5637435c

    Re : porblème d'erreur avec MIKROBASIC

    voici l'erreur (les deux parenthèses en rouge de la fonction LCD_Init() sont manquantes):

    Code:
    main:
    ' Initialisation des ports
    texte = "Température ext:"
    texte2 = "Température int:"
    adcon1 = 255
    PORTE = 255
    PORTB = 0
    PORTB = 0xFF
    TRISE = 255
    TRISB = 0
    TRISB = 0xFF
    Lcd_Init()
    Lcd_Cmd(_LCD_CURSOR_OFF)
    Lcd_Out(1,1,texte)
    'programme principale des températures
     .......
    Essaye maintenant ça doit fonctionner.
    @+

  4. #4
    foudefoot

    Re : porblème d'erreur avec MIKROBASIC

    Citation Envoyé par HULK28 Voir le message
    voici l'erreur (les deux parenthèses en rouge de la fonction LCD_Init() sont manquantes):

    Code:
    main:
    ' Initialisation des ports
    texte = "Température ext:"
    texte2 = "Température int:"
    adcon1 = 255
    PORTE = 255
    PORTB = 0
    PORTB = 0xFF
    TRISE = 255
    TRISB = 0
    TRISB = 0xFF
    Lcd_Init()
    Lcd_Cmd(_LCD_CURSOR_OFF)
    Lcd_Out(1,1,texte)
    'programme principale des températures
     .......
    Essaye maintenant ça doit fonctionner.
    @+
    Bonjour et merci HULK28,
    je n'oublirais plus les balises à l'avenir. J'ai une autre question, je voudrais inclure dans mon programme une horloge avec date, mais je ne sais pas comment faire, pour la date je vais faire un tableau du style
    Code:
    Dim mois as byte 12
    dim mois0 as string[7] 'variable pour le mois de janvier
    dim mois1 as string[7] ' variable pour le mois de février
    dim mois2 as string[4] 'variable pour le mois de mars
    etc...
    dim mois11 as string[8]'variable pour le mois de decembre
    const mois as byte[12] = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
    mois0 = "Janvier"
    mois1 = "Février"
    mois2 = "Mars"
    etc...
    mois11 = "Décembre"
    Par contre, je ne sais pas comment m'y prendre pour les heures, minutes, secondes. Es-ce que je dois utlisé le 2ième timer pour ne pas être ralenti pas le code du thermomètre, et es-ce-que je dois passer par l'instruction "compteur" pour le comptage des secondes, minutes, heures.
    Peux-tu éclairer ma lanterne qui est bien éteinte?
    Merci, encore, d'avoir pris le temps de me répondre.
    denis

  5. A voir en vidéo sur Futura
  6. #5
    invite5637435c

    Re : porblème d'erreur avec MIKROBASIC

    Je ne sais pas si j'ai bien compris ta question.

    Ta fonction thermomètre doit être appelée lorsque il y aura du temps de libre, la température est un phénomène lent donc il n'y a aucune urgence, sauf cas particulier, je ne crois pas que ce soit ton cas ici.
    Tu ne dis pas comment tu comptes faire pour l'horloge, soit par soft avec un quartz 32KHz sur le timer, soit avec un composant externe genre DS1307.
    Dans les 2 cas le comptage est indépendant du reste, seul l'affichage se doit d'être à l'heure si je puis dire.
    Donc il faut coordonner les mesures températures entre les secondes sachant que le traitement d'un OneWire prend pas mal de temps mais reste bien inférieur à la seconde.

    Pour avoir un affichage propre il faut que chaque seconde (en interruption) tu rafraichisses ton LCD avec les nouvelles valeurs.

    Je n'utilise pas basic donc je n'ai aucun exemple clé en main à te communiquer, mais le principe reste toujours le même, en interruption on place les évènement à ne pas manquer, le reste est fait en tâche de fond.
    @+

  7. #6
    foudefoot

    Re : porblème d'erreur avec MIKROBASIC

    Rebonjour HULK28,
    Tout d'abord, merci de ta patience. je pensais utiliser un quartz de 32,768kHz avec le DS1307 Dallas. J'ai trouvé un lien qui donne un programme en assembleur, je n'ai pas tout compris, et comme je ne veux pas recopier du code bêtement je continue à le décortiquer pour tout assimiler. En ce qui concerne le schéma, une chose me parait bizzare, c'est que les lignes RB0 à RB3 de l'afficheur ne sont pas reliés à des sorties du PIC16F876A, je pensais qu'il fallait obligatoirement que ce soit le cas.
    Pour ne pas trop compliqué le tout, je pensais mettre 2 PICs sur le même afficheur, un PIC 16F84 pour la température (obsolète, mais ça suffit largement vu le travail qu'on lui demande) cadencé à 8MHz et un PIC 16f877 pour l'horloge cadencé à 20MHz. Pour gérer l'affichage un switch commandé par un poussoir, ou commandé par une tempo, permettrait de passé de l'un à l'autre.
    Voici le lien vers le schéma et le code en assembleur dont je te parle:
    http://fabrice.sincere.pagesperso-or...TC/RTC_I2C.htm
    Merci encore une fois pour tes réponses et ta patience.
    Denis

Discussions similaires

  1. Problème avec Mikrobasic
    Par adipie dans le forum Électronique
    Réponses: 1
    Dernier message: 11/08/2011, 16h15
  2. Problème urgent avec mikrobasic
    Par invite818ab403 dans le forum Électronique
    Réponses: 23
    Dernier message: 29/05/2011, 18h51
  3. compteur avec mikrobasic
    Par invite6770bca5 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/03/2009, 10h41
  4. programmer avec mikroBasic!
    Par invite6770bca5 dans le forum Électronique
    Réponses: 4
    Dernier message: 27/02/2009, 19h22
  5. afficheur avec PIC le tout sous mikrobasic !
    Par LTHOMAS dans le forum Électronique
    Réponses: 5
    Dernier message: 09/11/2006, 20h19
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...