MikroC et liaison serie rs232
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

MikroC et liaison serie rs232



  1. #1
    bypbop

    MikroC et liaison serie rs232


    ------

    Bonjour,

    voila j'ai réalisé un montage à base un pic 18F4550 et un max233cpp sur ce montage j'ai un écran lcd 16x2. le montage est correct et j'arrive a afficher du texte sur l'ecran lcd et à envoyer du pic sur le terminal pc via la liaison serie. Par contre j'ai du mal a envoyer du pc vers le montage.
    cela ne saffiche pas sur l'ecran.

    j'ai fait ce bout de code avec mikroC

    Code:
    // LCD module connections
    sbit LCD_RS at RB4_bit;
    sbit LCD_EN at RB5_bit;
    sbit LCD_D4 at RB0_bit;
    sbit LCD_D5 at RB1_bit;
    sbit LCD_D6 at RB2_bit;
    sbit LCD_D7 at RB3_bit;
    
    sbit LCD_RS_Direction at TRISB4_bit;
    sbit LCD_EN_Direction at TRISB5_bit;
    sbit LCD_D4_Direction at TRISB0_bit;
    sbit LCD_D5_Direction at TRISB1_bit;
    sbit LCD_D6_Direction at TRISB2_bit;
    sbit LCD_D7_Direction at TRISB3_bit;
    // End LCD module connections
    
    int b;
    char uart_rd;
    char texte;
    
    void beep()
    {
    for(b=0;b<500;b++)
    {
    porta.b1=1;
    delay_us(500);
    porta.b1=0;
    delay_us(500);
    }
    }
    
    
    void main()
    {
    ADCON1 |= 0x0F;
    CMCON  |= 7;
    Lcd_Init();
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Cmd(_LCD_CURSOR_OFF);
    
    
    UART1_Init(9600);              // Initialize UART module at 9600 bps
    Delay_ms(100);                 // Wait for UART module to stabilize
    UART1_Write_Text("Start");
    Lcd_Out(1, 2, "Message");
    
          while(1)
            {
            if (UART1_Data_Ready()) {      // If data is received,
               texte = UART1_Read();      //   read the received data,
               }
    
    
    
             Lcd_Out(2, 2, texte);
             Delay_ms(1000);
             }
    }
    Cordialement,
    bypbop

    -----

  2. #2
    invite2de7076a

    Re : MikroC et liaison serie rs232

    hello,
    ta tempo est sans doute néfaste.

    Tu peux déjà essayer de détecter la lettre 'A' par exemple:
    Code:
    if(texte=='A')
    {
      LED=~LED;
    }
    à placer juste après ton "texte = UART1_Read();"

  3. #3
    bypbop

    Re : MikroC et liaison serie rs232

    Dans le mille Maximilien

    j'ai fait

    Code:
    while(1)
            {
            if (UART1_Data_Ready()) {      // If data is received,
               texte = UART1_Read();      //   read the received data,
               if(texte=='A')
               {
               Lcd_Out(2, 1, "OK");
               }
    
            }
    
            }

    par contre quand je remplace le "OK" par : Lcd_Out(2, 1, texte);

    ca ne fonctionne pas.

    Cordialement,
    bypbop

  4. #4
    invite2de7076a

    Re : MikroC et liaison serie rs232

    Citation Envoyé par bypbop Voir le message
    par contre quand je remplace le "OK" par : Lcd_Out(2, 1, texte);
    ca ne fonctionne pas.
    Bizarre cela.

    Ça peut être:
    Lcd_Out(2, 1, *texte);
    pour essayer!

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

    Re : MikroC et liaison serie rs232

    la ca ne compile pas

    42 1509 Generated baud rate is 9615 bps (error = 0.16 percent) lcd.c
    51 322 Pointer required lcd.c
    51 307 Illegal typecast 'can not convert to pointer' '' lcd.c
    0 102 Finished (with errors): 11 oct. 2010, 21:50:58 lcd.mcppi
    Cordialement,
    bypbop

  7. #6
    invite2de7076a

    Re : MikroC et liaison serie rs232

    Bon tu m'as forcé à lancer MikroC...

    Utilise Lcd_Chr_Cp(texte);

    LCD_out ne fonctionne que pour des chaines.

  8. #7
    bypbop

    Re : MikroC et liaison serie rs232

    c'est bizarre parce que ds l aide ils disent

    Prints text on Lcd starting from specified position. Both string variables and literals can be passed as a text.
    fin bref cela fonctionne comme cela

    un grand merci Maximilien

  9. #8
    bypbop

    Re : MikroC et liaison serie rs232

    Bonjour Maximilien,

    Juste une petite question comment demarrer facilement une fonction depuis le pc comme par exemple la fonction Beep(); dans mon code.

    est ce que je suis obligé de passer par une variable intermediaire par exemple.

    if commande==1
    {
    beep();
    }
    else
    {

    }

    Cordialement,
    bypbop

  10. #9
    invite2de7076a

    Re : MikroC et liaison serie rs232

    salut,
    Citation Envoyé par bypbop Voir le message
    Juste une petite question comment demarrer facilement une fonction depuis le pc comme par exemple la fonction Beep(); dans mon code.

    est ce que je suis obligé de passer par une variable intermediaire par exemple.
    je ne comprend pas trop ta question?!

    Si tu souhaites activer le buzzer depuis ton PC, alors il te faut tester le caractère reçu par ton PIC (exemple 'B') et si c'est le bon activer le buzzer.
    Comme ce que tu as fait plus haut pour la LED.

    Le mieux est de faire un switch case suivant texte.

    Si il vaut 'L' tu change l'état de la led, si il vaut 'B' tu active le buzzer...

  11. #10
    bypbop

    Re : MikroC et liaison serie rs232

    Bonjour Maximilien,

    oui je pensais à ca en fait je me disais qu'il avait peut etre un moyen d'envoyer directement un ordre de fonction.

    par exemple sous le terminal envoyer Beep();

    Cordialement,
    bypbop

  12. #11
    invite2de7076a

    Re : MikroC et liaison serie rs232

    Hello,
    tu peux détecter l'a réception de 'B' puis 'E' puis 'E' puis 'P'...

    Ce n'est pas plus compliqué.

    Si tu veux un bout de code je t'en enverrai un.

    a+

  13. #12
    bypbop

    Re : MikroC et liaison serie rs232

    Bonjour Maximilien,

    tu peux m'envoyer un exemple avec un switch case ?
    J'avance bien merci de ton aide

    Cordialement,
    bypbop

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/03/2010, 23h14
  2. Communication RS232 sur MikroC
    Par invitec2fad112 dans le forum Électronique
    Réponses: 2
    Dernier message: 05/03/2010, 21h10
  3. Programation En C , Liaison Serie Rs232
    Par invite8916ae1c dans le forum Électronique
    Réponses: 0
    Dernier message: 17/05/2008, 18h31
  4. mikroC, mikroBASIC + communication série
    Par invite3c59dc04 dans le forum Électronique
    Réponses: 3
    Dernier message: 17/04/2008, 12h53
  5. Émetteur/Récepteur liaison wireless sur port série RS232
    Par invite9766527f dans le forum Électronique
    Réponses: 3
    Dernier message: 28/02/2006, 23h52
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...