Problème avec Mikrobasic
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Problème avec Mikrobasic



  1. #1
    adipie

    Problème avec Mikrobasic


    ------

    Bonjour,
    Je galère depuis une semaine pour trouver un bug dans un programme Mikrobasic dont voici le détail :
    PIC18F2420, compilateur Mikrobasic Pro V3.2, platine EasyPic5.
    Je souhaite réceptionner une chaîne de 8 caractères avec délimiteur “OK” à condition que RC0 = 0 en utilisant UART1_Data_Ready() = 1 de la Lib UART1.
    Si j’envoi la chaîne 12345678OK rien ne se passe, alors que si j’enlève la condition RC0 = 0 ça fonctionne.
    Qui peux m’aider ?
    Code:
    program Probleme
    'PIC 18F2420
    'EasyPic5 SW7.1 = 1, SW8.1 = 1, SW3.1 = 1
    'Déclaration LCD_________________________________________
    dim LCD_RS as sbit at RB4_bit
        LCD_EN as sbit at RB5_bit
        LCD_D4 as sbit at RB0_bit
        LCD_D5 as sbit at RB1_bit
        LCD_D6 as sbit at RB2_bit
        LCD_D7 as sbit at RB3_bit
        LCD_RS_Direction as sbit at TRISB4_bit
        LCD_EN_Direction as sbit at TRISB5_bit
        LCD_D4_Direction as sbit at TRISB0_bit
        LCD_D5_Direction as sbit at TRISB1_bit
        LCD_D6_Direction as sbit at TRISB2_bit
        LCD_D7_Direction as sbit at TRISB3_bit
    'Déclaration des variables________________________________
     Dim Rec as string[8]
    'Main____________________________________________________
    Main:
    UART1_Init(19200)  'Init UART1
    Delay_ms(200)
    ADCON1 = $0F
    TRISC = $01        'RC0 en input
      Lcd_Init()       'Init LCD
      Lcd_Cmd(_LCD_CURSOR_OFF)
      LCD_OUT(1,1,"Test")
      delay_ms(1000)
      LCD_Cmd(_LCD_CLEAR)
     UART1_Write_Text("Ready")            'Fonctionne
     UART1_Write(10)                      ' Line Feed
     UART1_Write(13)                      ' Carriage Return
    'Programme principal______________________________________
      while true
    
        if TestBit(PORTC,0) = 0 then
          UART1_Write_Text(Rec)
         LCD_OUT(2,1,"P1              ")     'Fonctionne
          if (UART1_Data_Ready() = 1) then
          'N'est pas executé si RC0 = 0 et UART_Data_Ready = 1
          'Comment savoir si UART_Data_Ready = 1
           UART1_Read_Text(Rec, "OK", 10)    'N'est pas executé
           UART1_Write_Text(Rec)             'N'est pas executé
           LCD_OUT(2,1,Rec)                  'Ne fonctionne pas
          end if
        else
           LCD_OUT(2,1,"P3              ")   'Fonctionne
        end if
      wend 'Boucle sans fin___________________________________
      end.

    -----

  2. #2
    adipie

    Re : Problème avec Mikrobasic

    Désolé de vous avoir dérangés, mais je viens de trouver la cause.
    En remplacant RC0 par RA0, ça fonctionne.

Discussions similaires

  1. Problème urgent avec mikrobasic
    Par invite818ab403 dans le forum Électronique
    Réponses: 23
    Dernier message: 29/05/2011, 18h51
  2. compteur avec mikrobasic
    Par invite6770bca5 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/03/2009, 10h41
  3. programmer avec mikroBasic!
    Par invite6770bca5 dans le forum Électronique
    Réponses: 4
    Dernier message: 27/02/2009, 19h22
  4. MikroBasic 16F628
    Par invite48799d34 dans le forum Électronique
    Réponses: 2
    Dernier message: 06/02/2008, 21h09
  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...