probleme can pic18f2580
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

probleme can pic18f2580



  1. #1
    invite6641b91f

    probleme can pic18f2580


    ------

    Ola à tous.
    J'ai passé un moment à regardé les différents post de ce site, passé pas mal de temps sur l'excellent site de bigonoff. Rien a faire mon probleme persiste. je vous l'expose.

    Je suis chargé de refaire une carte d'acquisition avec pic, rs232, xbee, can,i2C... tout qui va bien.

    La carte existante possede un pic cms 18lf2580, je teste tout mes programmes dessus. Aucun soucis, tout marche.

    j'ai donc créer un prototype en composants traversants avec tout les composants identique à l'autre carte, excepté un pic 18f2580.


    J'ai testé mon proto, tout marche sauf le bus can.

    apres de multiples essais sur la vraie carte, mon programme est valide est simplifié au maximum :
    Code:
    #include <p18f2580.h>
    
    void ConfigurationBusCAN(void);
    void EnvoieMessage(char);
    
    #pragma config OSC = HS
    #pragma config WDT = OFF
    #pragma config PWRT = ON
    #pragma config LVP = OFF
    
    
    //initialisation des ports I/O
    void init_ports(void)
    {   
        PORTB=0x05;
    
    	LATB = 0x05;
       
        TRISB = 0xCA;   
    }
    
    
    //programme principale
    void main(void)
    {  
    	init_ports();
        ConfigurationBusCAN();
    	EnvoieMessage(3);	
    }
    
    void EnvoieMessage(char piece)
    {
        TXB0SIDL= 0x00;
        TXB0SIDH= 0x20;
        TXB0DLC= 0x01;
    
        TXB0D0=piece;
        TXB0CONbits.TXREQ = 1;
        while (TXB0CONbits.TXREQ==1){};
    }
    
    void ConfigurationBusCAN(void)
    {
        CANCONbits.REQOP2= 1; //mise en mode configuration
        while (CANSTATbits.OPMODE2 != 1) {;}		//verification mode configuration
    
        BRGCON1 = 0x00;
        BRGCON2 = 0xF8;
        BRGCON3 = 0x05;
        CIOCONbits.ENDRHI=1;
    
        TXB0CON = 0x03; //priorité élevée
        TXB1CON = 0x02;
        TXB2CON = 0x01;
    
        CANCONbits.REQOP2= 0;
    }

    Je regarde en sortie de mon pic proto et je vois que la tram n'est pas correctemetn envoyé, je n'ai qu'un debut de trame, et apres on dirait que le pic ne parvient pas a envoyer et donc recommence, j'ai ainsi une suite de début de trame.

    j'ai evidememnt regardé en sortie de mon pic de la vraie carte, et je visualise bien une VRAIE trame.

    En utilisant le debug de mplab j'ai remarqué que le flag TXREQ ne revenait pas à 0 apres l'envoi, (donc l'envoi ne se fait pas), le programme bloque donc sur mon while attendant un 0.

    Voila maintenant 4 jours que je bloque sur mon probleme, si vous pouviez m'aider....


    merci bien.

    cordialement.

    --
    ouhme

    -----

  2. #2
    invite6641b91f

    Re : probleme can pic18f2580

    résolu :

    en fait si le pic est le seul sur le bus CAN il se met en sécurité, il faut obligatoirement qu'il ait un interlocuteur.

  3. #3
    invite2a59cbd0

    Re : probleme can pic18f2580



    Salut je souhaite réaliser une transmission série sur les ports RB0:RB3 à 9600 bauds chacun (sur un pic 18f2680), est-ce que je peux faire cela en utilisant les registres TXB0SIDL,TXB0SIDH,TXB0DLC,etc ...???
    Merci !

Discussions similaires

  1. Réponses: 11
    Dernier message: 26/05/2011, 12h27
  2. Un petit problème qui me pause problème lol
    Par invitef2853e5d dans le forum Mathématiques du supérieur
    Réponses: 13
    Dernier message: 31/03/2009, 15h28
  3. problème avec un lecteur mp4(le problème vient de l'ordinateur)
    Par mat_the_bad_boy dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 29/10/2007, 16h53
  4. TPE : le problème de la problématique... pose problème
    Par invitedea46a4f dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 21/09/2006, 18h45
Découvrez nos comparatifs produits sur l'informatique et les technologies.