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. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    maximilien

    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();"

  5. #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

  6. #4
    maximilien

    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!

  7. A voir en vidéo sur Futura
  8. #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

  9. #6
    maximilien

    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.

  10. Publicité
  11. #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

  12. #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

  13. #9
    maximilien

    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...

  14. #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

  15. #11
    maximilien

    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+

  16. #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

  17. Publicité

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/03/2010, 23h14
  2. Communication RS232 sur MikroC
    Par Chaouki22 dans le forum Électronique
    Réponses: 2
    Dernier message: 05/03/2010, 21h10
  3. Programation En C , Liaison Serie Rs232
    Par Donnelalerte dans le forum Électronique
    Réponses: 0
    Dernier message: 17/05/2008, 18h31
  4. mikroC, mikroBASIC + communication série
    Par KHEOPS1982 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 Takadé dans le forum Électronique
    Réponses: 3
    Dernier message: 28/02/2006, 23h52
Découvrez nos comparatifs produits sur l'informatique et les technologies.