probleme usb 18F4550 avec winform visual c++
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

probleme usb 18F4550 avec winform visual c++



  1. #1
    imed4ever

    probleme usb 18F4550 avec winform visual c++


    ------

    salut !
    j'explique mon cas je veux tester l'usb du 18F4550 j'utilise mpusbapi.dll avec visual c++,j'ai fai une application simple qui renvoi une entree numerique du pic (quand je press sur un bouton sur le port b un label(vc++) s'allum en vert et quand je lache le bouton le label s'eteind ),sa marche bien avec un bouton mais quand j'utilise les 8 sa marche pas
    j pas pu trouver l'erreur
    le firmware :
    void ServiceRequests(void)
    {
    USBGenRead((byte*)&dataPacket, sizeof(dataPacket));
    if(dataPacket.Data[0]==1)
    {
    if(PORTBbits.RB0==1)
    dataPacket.Data[1]=1;
    if(PORTBbits.RB1==1)
    dataPacket.Data[2]=2;
    if(PORTBbits.RB2==1)
    dataPacket.Data[3]=3;
    if(PORTBbits.RB3==1)
    dataPacket.Data[4]=4;
    if(PORTBbits.RB4==1)
    dataPacket.Data[5]=5;
    if(PORTBbits.RB5==1)
    dataPacket.Data[6]=6;
    if(PORTBbits.RB6==1)
    dataPacket.Data[7]=7;
    if(PORTBbits.RB7==1)
    dataPacket.Data[8]=8;
    USBGenWrite((byte*)&dataPacket ,64);}
    }
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<
    vc++:

    SendData[0]=1;
    myOutPipe = MPUSBOpen(0,vid_pid,out_pipe,M P_WRITE,0);
    MPUSBWrite(myOutPipe,SendData, SendLength,&SentDataLength,100 );
    MPUSBClose(myOutPipe);
    myInPipe = MPUSBOpen(0,vid_pid,in_pipe,MP _READ,0);
    MPUSBRead(myInPipe,ReceiveData , ExpectedReceiveLength,&Receive Length,100);
    MPUSBClose(myInPipe);
    a1=ReceiveData[1];
    a2=ReceiveData[2];
    a3=ReceiveData[3];
    a4=ReceiveData[4];
    a5=ReceiveData[5];
    a6=ReceiveData[6];
    a7=ReceiveData[7];
    a8=ReceiveData[8];
    r1=(int)a1;
    r2=(int)a2;
    r3=(int)a3;
    r4=(int)a4;
    r5=(int)a5;
    r6=(int)a6;
    r7=(int)a7;
    r8=(int)a8;
    if(r1==1)
    label1->BackColor::set(Color::LightGr een);
    else
    label1->BackColor::set(Color::LightGr ay);
    if(r2==2)
    label2->BackColor::set(Color::LightGr een);
    else
    label2->BackColor::set(Color::LightGr ay);
    if(r3==3)
    label3->BackColor::set(Color::LightGr een);
    else
    label3->BackColor::set(Color::LightGr ay);
    if(r4==4)
    label4->BackColor::set(Color::LightGr een);
    else
    label4->BackColor::set(Color::LightGr ay);
    if(r5==5)
    label5->BackColor::set(Color::LightGr een);
    else
    label5->BackColor::set(Color::LightGr ay);
    if(r6==6)
    label6->BackColor::set(Color::LightGr een);
    else
    label6->BackColor::set(Color::LightGr ay);
    if(r7==7)
    label7->BackColor::set(Color::LightGr een);
    else
    label7->BackColor::set(Color::LightGr ay);
    if(r8==8)
    label8->BackColor::set(Color::LightGr een);
    else
    label8->BackColor::set(Color::LightGr ay);
    }
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>><
    voila le bou du code du pic et visual c++
    merci pour votre aide

    -----

  2. #2
    RicounetZap

    Re : probleme usb 18F4550 avec winform visual c++

    Bonjour

    Juste comme ça, c'est dur de savoir ce qui ne fonctionne pas.
    Autre chose, je ne vois pas le code ou tu réinitialise les dataPacket.Data[n]. Ce ne serait pas ça ton problème.
    Pourquoi passes tu par tant de conversions ? Simplifie en faisant :
    Code:
    if(ReceiveData[1] == 0x01)
    {
       //Set de la couleur qui va bien
    }
    else
    {
       //Set d'une autre couleur
    }
    Cordialement
    N'importe quoi, for ever :-)

  3. #3
    imed4ever

    Re : probleme usb 18F4550 avec winform visual c++

    merci pour ta reponse !
    j'ai un probleme tres bizard , j'ai essayer un seule bouton maintenant ,il marche nickel sur RB0 mais quand je change juste dans le programme du firmware
    RB0 en RB1 ou autre chose ba il garde toujours le fonctionnement comme il etait sur RB0 c tres bizard .(genre il marche que sur RB0 )
    j pas compri su tout

Discussions similaires

  1. visual studio c++ winform probleme
    Par imed4ever dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 19/03/2012, 08h16
  2. Pic 18f4550 ->usb
    Par rodjarc dans le forum Électronique
    Réponses: 1
    Dernier message: 03/05/2011, 20h14
  3. 18f4550 et usb
    Par h.thierry dans le forum Électronique
    Réponses: 6
    Dernier message: 04/01/2010, 14h13
  4. Liaison Usb -> Spi avec un pic 18f4550
    Par inviteb608cdc8 dans le forum Électronique
    Réponses: 3
    Dernier message: 28/08/2008, 21h12
  5. récupéré des info usb avec du visual basic
    Par invite5580d031 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/06/2005, 14h23
Découvrez nos comparatifs produits sur l'informatique et les technologies.