Bus can :/
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Bus can :/



  1. #1
    invite9b43d387

    Bus can :/


    ------

    salut j'ai réaliser le montage suivant :Sans titre.png
    le bute de faire envoyer de donnée du 1er pic (18f458 horloge 8MHZ ) a la 2eme pic (18f458 horloge 8MHZ ) sur bus can en utilisant le mcp2551 et afficher les donnée reçu sur un afficheur lcd 2*16
    et voila j'ai réaliser cette montage en :
    IMG_0161.jpg
    et sa marche plus :'( la bus can
    IMG_0162.jpg

    si il ya un trame reçu sur la 2eme carte j'affiche x=5 ""if (can_kbhit()) x=5"
    et il affiche le 5 donc il ya un trame qui arrive mai mon problème la valeur envoyer et male reçu je sais plus pour koi et voila le code (émetteur)
    Code:
    #include <can-18xxx8.c>
    int data[1];
    void main()
    {
       can_init();
       setup_adc_ports(NO_ANALOGS);
       setup_adc(ADC_CLOCK_DIV_2);
       setup_psp(PSP_DISABLED);
       setup_spi(SPI_SS_DISABLED);
       setup_wdt(WDT_OFF);
       setup_timer_0(RTCC_INTERNAL);
       setup_timer_1(T1_DISABLED);
       setup_timer_2(T2_DISABLED,0,1);
       setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
       setup_comparator(NC_NC_NC_NC);
       setup_vref(FALSE);
       setup_low_volt_detect(FALSE);
       while(true)
       {
       data[0] =9;
       can_putd(0x400,data,1,1, TRUE,FALSE);
       }
    }

    et voila code pour le récepteur:
    Code:
    #include <can-18xxx8.c>
    #define LCD_ENABLE_PIN  PIN_C0
    #define LCD_RS_PIN      PIN_C1
    #define LCD_RW_PIN      PIN_C6
    #define LCD_DATA4       PIN_C2                                   
    #define LCD_DATA5       PIN_C3                                    
    #define LCD_DATA6       PIN_C4          
    #define LCD_DATA7       PIN_C5
    #include <lcd.c>
    int buffer[8], rx_len, rx_stat;
    int32 rx_id;
    int x=0,y=9;
    void main()
    {
       can_init();
       setup_adc_ports(NO_ANALOGS);
       setup_adc(ADC_CLOCK_DIV_2);
       setup_psp(PSP_DISABLED);
       setup_spi(SPI_SS_DISABLED);
       setup_wdt(WDT_OFF);
       setup_timer_0(RTCC_INTERNAL);
       setup_timer_1(T1_DISABLED);
       setup_timer_2(T2_DISABLED,0,1);
       setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
       setup_comparator(NC_NC_NC_NC);
       setup_vref(FALSE);
       lcd_init();
        while(true)
       {
       if (can_kbhit())
           {
           x=5;
           lcd_gotoxy(1,1);
           printf(lcd_putc,"id=%d",x);
           can_getd(rx_id,buffer, rx_len,rx_stat); 
           if(y==buffer[0])
           {lcd_gotoxy(1,2);
           printf(lcd_putc,"data=%d",y);}
            
           }
       }
                           
    }
    aide moi svp merci

    -----

  2. #2
    Jack
    Modérateur

    Re : Bus can :/

    Il faut commencer par regarder si les signaux sont corrects. Tu es en simulation, donc ça ne doit pas être difficile à mettre en oeuvre.

    A+

  3. #3
    invite9b43d387

    Re : Bus can :/

    oui il ya un trame qui arrive mai les donnée sont plus correcte

  4. #4
    Jack
    Modérateur

    Re : Bus can :/

    Citation Envoyé par foufou-tn Voir le message
    oui il ya un trame qui arrive mai les donnée sont plus correcte
    Ah bin avec tous ces détails c'est sur qu'on va bien avancer ...

    On peut voir cette trame?

    A+

  5. A voir en vidéo sur Futura

Discussions similaires

  1. BUS can
    Par invite7ac11e37 dans le forum Électronique
    Réponses: 0
    Dernier message: 10/06/2011, 01h15
  2. Bus I²C
    Par invite703f2b47 dans le forum Électronique
    Réponses: 11
    Dernier message: 18/03/2011, 17h11
  3. Caméras avec bus commande et bus données séparées.
    Par invite5b497461 dans le forum Électronique
    Réponses: 2
    Dernier message: 08/02/2011, 10h04
  4. Sm bus
    Par invitebc911319 dans le forum Électronique
    Réponses: 0
    Dernier message: 30/06/2009, 16h19
  5. Bus CAN
    Par invite78e36518 dans le forum Électronique
    Réponses: 3
    Dernier message: 17/04/2009, 20h10
Découvrez nos comparatifs produits sur l'informatique et les technologies.