[Numérique] programmation d'un pic32mx795f512l avec module MRF24GN0MB
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 35

programmation d'un pic32mx795f512l avec module MRF24GN0MB



  1. #1
    davidif

    programmation d'un pic32mx795f512l avec module MRF24GN0MB


    ------

    Bonjour à tous,

    Ca y est c'est le moment de si mettre plus sérieusement sur mon starter kit en attendant le câblage des cartes à programmer.
    http://www.microchip.com/Development...artNO=DM320001
    sur ça carte d'extension
    http://www.microchip.com/Development...artNO=DM320002
    et le module wifi
    http://www.microchip.com/Development...artNO=AC164153

    Je suis actuellement sur mon starter kit ethernet que j'ai pu exercé succinctement sans trop d'objectif n'ayant pas d'application spécifique , ce qui n'est plus le cas actuellement car je dois implémenter du code pour utiliser quelques entrée sortie et PWM pour commencer.

    Je programme MPLAB V3.26 sous harmony et j'utilise un exemple de soft de chez microchip "pic32_eth_wifi_web_server .X" que je n'ai pas eu trop de mal à faire fonctionner avec la configuration du point MHC.
    pic32mx_eth_sk+ioexp+11n+freer tos.mhc

    J'ai pu faire fonctionner la sortie pwm OC4 en copiant du code trouvé sur le net et sans trop savoir ce que ça faisait pour le moment, mais pas les autres pwm pour le moment, car ceci sont à l'emplacement dédié à une autre utilité sur mon starter kit (switch et led) je souhaiterai donc pouvoir changer mes périphériques comme prévu et pour ce faire ce mettre sur le pin setting en pensant le faire plus facilement qu'avant ou l'on paramétrait les registres concerné mais a priori c'est pas si facile car pour le moment je ne peux rien changé sur l'interface elle sont comme locked ou quelque chose comme ça.

    quelqu'un pourrai m'éclairé sur la méthode pour ça, s'agit-il de déverrouiller quelque chose qui m'aurait échappé, je suis noyé dans les docs et cherche la solution.

    Merci d'avance

    -----

  2. #2
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Bizarrement toutes les pin sont indisponible ???

    Nom : pin.jpg
Affichages : 110
Taille : 88,8 Ko

  3. #3
    Aurélien

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Finalement on est en train de suivre la totalité de ton développement sur les divers forums...si ton client tombe la dessus, tu vas passer pour un drôle...
    Citation Envoyé par davidif Voir le message
    je suis noyé dans les docs et cherche la solution.
    Ben à vrai dire c'est le métier...si dès que t'es perdu dans une datasheet tu ouvres un post, il va falloir créer une section forum dédiée à tes prestations. C'est normal d'être noyé quand on se lance dans quelque chose de nouveau, mais c'est en bossant qu'on s'en sort, pas en demandant à l'aide au moindre pépin.
    Tes questions sont toujours un peu les mêmes : ce ne sont pas des questions liées à l'ignorance d'un point précis, ça on peut le comprendre et y répondre, mais tes questions demandent quasi systématiquement aux participants du forum de réfléchir à ta place pour trouver soit des solutions à des problèmatiques, qui en plus sont pour la plupart du temps décrits d'une façon loin d'être exhaustive sur le plan des spécifications et du contexte. Ou bien des questions concernant sur des éclaircissements de fonctionnement de certains composants ou logiciels ; or ceux-ci ont une documentation : si elle est longue et fastidieuse à comprendre, c'est pour une raison, et il ne faut donc pas s'attendre que sur un forum on te décrire son fonctionnement en 10 lignes !
    Quand je lis ta question, je crois rêver. Déjà, on ne comprends pas exactement ce que tu veux faire et ce que tu attends de nous. Il faudra encore 10 posts pour avoir les tenants et aboutissants de ton problème, en attendant le suivant.
    Dans un autre topic, tu nous avais dit que tu avais des faiblesses en électronique analogique, soit. Mais si tu as de telles questions en programmation, alors au final c'est quoi exactement ton domaine de prédilection ?
    Juste un conseil : quand on est freelance, il faut avoir conscience qu'on est souvent seul à potasser de la doc !

    Allez, bon courage
    A+

  4. #4
    invite03481543

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Je n'aurai pas dit mieux.
    J'ai le sentiment aussi que sans le net tu serais bien perdu.
    Tu t'attaques à des choses pour lesquelles il faut avoir de bonnes notions et piocher à droite et à gauche des codes que tu ne comprends pas ne va pas t'amener bien loin.
    Un PIC32 n'est pas une mince affaire, il faudrait surtout que tu sois formé pour ça en priorité sans quoi tu vas déprimer très vite.

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

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Bonjours, croyez moi je n'attend pas des forum pour faire mon boulot, et si je donne l'impression d'en attendre beaucoup vous vous trompez, les questions que je ne poses pas sont celle auxquelles j'ai méningé et répondu donc évidement ça peu donner cette impression.

    La contrainte que j'ai pour ce projet est le temps ... je dois implémenter des fonctions peut-être simple pour certains et pour moi aussi seulement le différence entre les anciennes version de mplab et la dernière version sous harmony est que l'on paramètre pas les registres directement comme je le faisais avant et j'ai peu de temps pour faire fonctionner le proto qui doit fonctionner tout de suite.

    C'est à ma porté, seulement avec plus de temps je me ferais moins de soucie.

    Après je bosse et identifié le code directement à modifier dans les fichiers source et .h

    Merci d'être intervenue

  7. #6
    Aurélien

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par davidif Voir le message
    les questions que je ne poses pas sont celle auxquelles j'ai méningé et répondu donc évidement ça peu donner cette impression.
    Ben fais de même pour les autres...Quand on lit des questions on sent qu'il n'y a même pas eu un commencement de reflexion, si tu prenais au moins le temps de détailler ce que tu veux je suis certain que tu y répondrais par toi même. Prends le temps de faire les choses une par une..

    Citation Envoyé par davidif Voir le message
    La contrainte que j'ai pour ce projet est le temps ...
    Ouais ben ça va falloir t'y faire !

  8. #7
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Bonjour,

    bon bah ! après réflexion j'aurai bien besoin d'un coup de pouce, j'ai donc fait fonctionner mes PWM en 16bits sans problème
    http://ww1.microchip.com/downloads/e...Doc/61156G.pdf

    En paramétrant sur timers3

    Code:
        //enable clock timer3
    T3CONbits.ON=1;
    TMR3=0xFFFF;
    T3CONbits.TCS=0;   //internal clock
    T3CONbits.TCKPS=0; //Prescalaire 1:1
    T3CONbits.ON=1;	   //enable clock timer3
    IFS0bits.T3IF = 0;
    Puis mes pwm

    Code:
    OC2CON = 0x0000;
    OC2R = 0x0000;
    OC2RS = 0x7FFF;
    OC2CON = 0x000D;
    PR3 = 0xFFFF ;   
    IFS0CLR = 0x00000400;// Clear the OC2 interrupt flag
    IFS0SET = 0x00000400;// Enable OC2 interrupt
    IPC2SET = 0x001C0000;// Set OC2 interrupt priority to 7, the highest level
    IPC2SET = 0x00030000;// Set Subpriority to 3, maximum
    OC2CONSET = 0X8000;
    
    
    // PARAMETRE DE OC4
    OC4CON = 0x0000;// Disable OC4 modul
    OC4R = 0x000;// Initialize Compare Register1
    OC4RS = 0x3FFF;// Initialize Secondary Compare Register 1
    OC4CON = 0x000D;// Configure OC4 module for Pulse output
    //PR2 = 0xFFFF;// Set period
    IFS0CLR = 0x00040000;// Clear the OC4 interrupt flag
    IFS0SET = 0x00040000;// Enable OC4 interrupt
    IPC4SET = 0x001C0000;// Set OC4 interrupt priority to 7,the highest level
    IPC4SET = 0x00030000;// Set Subpriority to 3, maximum
    OC4CONSET = 0x8000;// Enable OC4    
       
    //PARAMETRER OC5
    OC5CON = 0x0000;// Disable OC5 module
    OC5R = 0x0000;// Initialize Compare Register1
    OC5RS = 0x3FFF;// Initialize Secondary Compare Register 1
    OC5CON = 0x000D;// Configure OC5 module for Pulse output
    //PR2 = 0xFFFF;// Set period
    IFS0CLR = 0x00400000;// Clear the OC5 interrupt flag
    IFS0SET = 0x00400000;// Enable OC5 interrupt
    IPC5SET = 0x001C0000;// Set OC5 interrupt priority to 7, the highest level
    IPC5SET = 0x00030000;// Set Subpriority to 3, maximum
    OC5CONSET = 0x8000;// Enable OC5
    Seulement pour avoir une période plus importants j'ai essayé de passer en 32bits, seulement là ça bloque un peut

    d'après la doc, pour ce faire il faut paramétrer soit le timer 2 et 3 ou timer 4 et 5 , ce que j'ai tenté de faire


    Code:
    T4CON=0x8000;
    T5CON=0x8000;

    et ma pwm

    Code:
    OC2CON = 0x00000000;
    OC2R = 0x00000000;
    OC2RS = 0x00007FFF;
    OC2CON = 0x0000002D;
    PR4 = 0x0000FFFF ;    //F=24K HERTZ
    IFS0CLR = 0x00000400;// Clear the OC1 interrupt flag
    IFS0SET = 0x00000400;// Enable OC1 interrupt
    IPC2SET = 0x001C0000;// Set OC1 interrupt priority to 7, the highest level
    IPC2SET = 0x00030000;// Set Subpriority to 3, maximum
    OC2CONSET = 0X8000;
    Seulement là ça bagotte pas encore, aurai-je loupé quelque chose

    merci pour votre aides
    Dernière modification par davidif ; 14/05/2016 à 22h22.

  9. #8
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Bonjour, en fait je souhaite avoir une période de 5s dont le rapport cyclique varie et celle-ci étant longue je n'arrive pas à l’atteindre en 16bits, j'ai donc pensé à faire du 32bits.
    Par contre, quand on voit les registres des Output compare, on peut les rattacher au timers 2 ou 3 si j'ai bien compris et en 32bits j'utilise la combinaison des 2 timers 4 et 5.

    ai-je bien compris ?

  10. #9
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Salut,
    tu configures le timer2 en 32 bits et tu configures le module OC en 32 bits sur le timer2 et puis c'est tout. 61111.pdf

  11. #10
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    Salut,
    tu configures le timer2 en 32 bits et tu configures le module OC en 32 bits sur le timer2 et puis c'est tout. 61111.pdf
    Merci satanas, effectivement je le voyais aussi simplement seulement ce n'est pas encore tombé en marche, mais je vais revoir mon code, j'ai dû oublié quelque chose.
    La question que je me posais était, si je paramètre le timer 2 en 32bits, dois-je également le faire pour le timers 3 puisque c'est la combinaison des 2 ou inversement ?

    et ai-je bien compris ? les OCx peuvent fonctionner que sur les timers 2 et 3 ?

    car le timer 2 est déjà utiliser, je voulais donc éviter d'intervenir dessus, c'est la raison pour laquelle, j'utilise les timers 4 et 5 en combinaison 32bit
    Dernière modification par davidif ; 15/05/2016 à 08h53.

  12. #11
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    En mode 32 bits le timer3 est piloté par le timer2. Tu as un exemple de pwm 32 bits dans la doc OC sus-citée, est ce qu'il configure le timer3 dedans (hors interrupt) ?
    Dernière modification par satinas ; 15/05/2016 à 09h02.

  13. #12
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    En mode 32 bits le timer3 est piloté par le timer2. Tu as un exemple de pwm 32 bits dans la doc OC sus-citée, est ce qu'il configure le timer3 dedans (hors interrupt) ?
    non effectivement , ok

    Je vais revoir ça merci

    J'ai vu sur la docs P4 qu'en touchant OCTSEL à 1 ou 0 nous permettait de sélectionner le timer 2 ou 3 c'est bien ça ? est-ce que cela veux dire que les OCx ne peuvent pas fonctionner sur d'autre timers ?

  14. #13
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Je n'ai pas trop envie de répondre à une question qui figure clairement dans la doc, désolé.
    La sélection du timer3 est réservée au mode 16 bits, je suppose, tout ça reste très logique.

  15. #14
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    Je n'ai pas trop envie de répondre à une question qui figure clairement dans la doc, désolé.
    La sélection du timer3 est réservée au mode 16 bits, je suppose, tout ça reste très logique.
    Désolé, si ça parait logique pour toi j'ai lu la docs et certaines choses m'ont peut-être (voir surement) échappé qui paraissent claire pour quelqu'un d'avertie, seulement je pose la question pour être sûr d'avoir bien compris que je ne passe pas à côté de quelque choses.

  16. #15
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Puisque tu dis que tu as déjà commencé à expérimenter, configure les registres OC cités dans la doc, pour utiliser les timers 4,5,etc et on en reparle une fois que c'est fait.

  17. #16
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    Puisque tu dis que tu as déjà commencé à expérimenter, configure les registres OC cités dans la doc, pour utiliser les timers 4,5,etc et on en reparle une fois que c'est fait.
    Oui je te confirme d'avoir essayé la manipe avant de poster mes difficultés et d'ailleurs, mon code est plus haut, alors j'ai peut être et très certainement des erreurs, c'est pour ça que ça fonctionne pour le moment pas.

    et que je me poses ces question là, mais je vais réessayé à nouveau en prenant en compte tes info

    Merci de ta disponibilité

  18. #17
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Fallait pas essayer de berner le processeur, c'est lui qui t'as répondu en premier.

    bit 3
    OCTSEL: Output Compare Timer Select bit
    1 = Timer3 is the clock source for this Output Compare module
    0 = Timer2 is the clock source for this Output Compare module
    Refer to the specific device data sheet for the time bases that are available to the Output Compare module.

    J'admets que la dernière ligne est pas claire car elle donne quelque espoir que le timer2/3 ne soit pas imposé, mais ça suit pas derrière.
    Ligne figurant dans ma vieille doc, supprimée dans la nouvelle
    Dernière modification par satinas ; 15/05/2016 à 10h22.

  19. #18
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    Fallait pas essayer de berner le processeur, c'est lui qui t'as répondu en premier.

    bit 3
    OCTSEL: Output Compare Timer Select bit
    1 = Timer3 is the clock source for this Output Compare module
    0 = Timer2 is the clock source for this Output Compare module
    Refer to the specific device data sheet for the time bases that are available to the Output Compare module.

    J'admets que la dernière ligne est pas claire car elle donne quelque espoir que le timer2/3 ne soit pas imposé, mais ça suit pas derrière.
    Ligne figurant dans ma vieille doc, supprimée dans la nouvelle
    ok, donc je ne peux pas passer le timer 2 en 32bit, car j'ai une autre application stack tcp/ip qui ne fonctionne plus sinon , c'est pour ça que je souhaitais utiliser un autre timer en 32 comme le timer4 mais apparemment pas utilisable avec les Ocx

  20. #19
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Bon la ligne figure toujours, j'ai encore lu de travers.
    Oui le timer2 32 bits est imposé pour le pwm. ma première réponse te le disait et anticipait même que tu allais insister ...
    La stack IP elle a juste besoin d'un timer pour ses ticks, le timer1, non ?
    je connais pas les modules Wifi

  21. #20
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    Bon la ligne figure toujours, j'ai encore lu de travers.
    Oui le timer2 32 bits est imposé pour le pwm. ma première réponse te le disait et anticipait même que tu allais insister ...
    La stack IP elle a juste besoin d'un timer pour ses ticks, le timer1, non ?
    je connais pas les modules Wifi
    j'utilise le module MRF24WN0MB http://ww1.microchip.com/downloads/e.../50002410A.pdf

    Justement, je suis en train de chercher ou est stipuler le timer utilisé par la stack mais je le trouve pas pour le moment, je pensais que le timer1 serai utilisé, seulement quand j'interviens sur le 2 plus rien ne fonctionne

    d'autant plus que je ne vois pas de paramètrage du timer1 non plus, j'ai les autres mais pas lui :

    Code:
    /*** Timer Driver 0 Configuration ***/
    #define DRV_TMR_PERIPHERAL_ID_IDX0          TMR_ID_2
    #define DRV_TMR_INTERRUPT_SOURCE_IDX0       INT_SOURCE_TIMER_2
    #define DRV_TMR_CLOCK_SOURCE_IDX0           DRV_TMR_CLKSOURCE_INTERNAL
    #define DRV_TMR_PRESCALE_IDX0               TMR_PRESCALE_VALUE_256
    #define DRV_TMR_OPERATION_MODE_IDX0         DRV_TMR_OPERATION_MODE_16_BIT
    #define DRV_TMR_ASYNC_WRITE_ENABLE_IDX0     false
    #define DRV_TMR_POWER_STATE_IDX0            SYS_MODULE_POWER_RUN_FULL
    
    /*** Timer Driver 1 Configuration ***/
    #define DRV_TMR_PERIPHERAL_ID_IDX1          TMR_ID_3
    #define DRV_TMR_INTERRUPT_SOURCE_IDX1       INT_SOURCE_TIMER_3
    #define DRV_TMR_CLOCK_SOURCE_IDX1           DRV_TMR_CLKSOURCE_INTERNAL
    #define DRV_TMR_PRESCALE_IDX1               TMR_PRESCALE_VALUE_256
    #define DRV_TMR_OPERATION_MODE_IDX1         DRV_TMR_OPERATION_MODE_16_BIT
    #define DRV_TMR_ASYNC_WRITE_ENABLE_IDX1     false
    #define DRV_TMR_POWER_STATE_IDX1            SYS_MODULE_POWER_RUN_FULL
    
     /*** Timer Driver 2 Configuration ***/
    #define DRV_TMR_PERIPHERAL_ID_IDX2          TMR_ID_5
    #define DRV_TMR_INTERRUPT_SOURCE_IDX2       INT_SOURCE_TIMER_5
    #define DRV_TMR_CLOCK_SOURCE_IDX2           DRV_TMR_CLKSOURCE_INTERNAL
    #define DRV_TMR_PRESCALE_IDX2               TMR_PRESCALE_VALUE_1
    #define DRV_TMR_OPERATION_MODE_IDX2         DRV_TMR_OPERATION_MODE_32_BIT
    #define DRV_TMR_ASYNC_WRITE_ENABLE_IDX2     false
    #define DRV_TMR_POWER_STATE_IDX2            SYS_MODULE_POWER_RUN_FULL
    Dernière modification par davidif ; 15/05/2016 à 11h09.

  22. #21
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    et si change le timer2 pour le timer1, ça ne fonctionne pas

    Code:
    /*** Timer Driver 0 Configuration ***/
    #define DRV_TMR_PERIPHERAL_ID_IDX0          TMR_ID_1
    #define DRV_TMR_INTERRUPT_SOURCE_IDX0       INT_SOURCE_TIMER_1
    #define DRV_TMR_CLOCK_SOURCE_IDX0           DRV_TMR_CLKSOURCE_INTERNAL
    #define DRV_TMR_PRESCALE_IDX0               TMR_PRESCALE_VALUE_256
    #define DRV_TMR_OPERATION_MODE_IDX0         DRV_TMR_OPERATION_MODE_16_BIT
    #define DRV_TMR_ASYNC_WRITE_ENABLE_IDX0     false
    #define DRV_TMR_POWER_STATE_IDX0            SYS_MODULE_POWER_RUN_FULL

  23. #22
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Avec Harmony, que je n'utilise pas, ça doit pas être facile de modifier les fichiers séparément, tu as dû passer par un logiciel configurateur pour paramétrer la pile IP et les system services, c'est plus sur.
    Avec l'ancienne pile, il suffisait de modifier le fichier tick.c pour changer le timer dédié, mais ça c'était avant.

  24. #23
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    Avec Harmony, que je n'utilise pas, ça doit pas être facile de modifier les fichiers séparément, tu as dû passer par un logiciel configurateur pour paramétrer la pile IP et les system services, c'est plus sur.
    Avec l'ancienne pile, il suffisait de modifier le fichier tick.c pour changer le timer dédié, mais ça c'était avant.
    Yes, en fait j'utilise le configuration d'harmony pour la stack et le module wifi, après pour les interfaces (pwm, I/O, timer...) je configure directement les registre comme j'ai posté car je ne vois pas tout ce que font les commande harmony , et je gallère pas mal pour savoir ce que fait une commande d'initialisation.

    ça c'est pour le wifi par exemple :
    conf_wifi.png

    Code:
    /*** SPI Driver Configuration ***/
    #define DRV_SPI_NUMBER_OF_MODULES		4
    /*** Driver Compilation and static configuration options. ***/
    /*** Select SPI compilation units.***/
    #define DRV_SPI_POLLED 				0
    #define DRV_SPI_ISR 				1
    #define DRV_SPI_MASTER 				1
    #define DRV_SPI_SLAVE 				0
    #define DRV_SPI_RM 				0
    #define DRV_SPI_EBM 				1
    #define DRV_SPI_8BIT 				1
    #define DRV_SPI_16BIT 				0
    #define DRV_SPI_32BIT 				0
    #define DRV_SPI_DMA 				1
    
    /*** SPI Driver Static Allocation Options ***/
    #define DRV_SPI_INSTANCES_NUMBER 		1
    #define DRV_SPI_CLIENTS_NUMBER 			1
    #define DRV_SPI_ELEMENTS_PER_QUEUE 		10
    /*** SPI Driver DMA Options ***/
    #define DRV_SPI_DMA_TXFER_SIZE 			512
    #define DRV_SPI_DMA_DUMMY_BUFFER_SIZE 		512
    /* SPI Driver Instance 0 Configuration */
    #define DRV_SPI_SPI_ID_IDX0 			SPI_ID_1
    #define DRV_SPI_TASK_MODE_IDX0 			DRV_SPI_TASK_MODE_ISR
    #define DRV_SPI_SPI_MODE_IDX0   DRV_SPI_MODE_MASTER
    #define DRV_SPI_ALLOW_IDLE_RUN_IDX0     false
    #define DRV_SPI_SPI_PROTOCOL_TYPE_IDX0 		DRV_SPI_PROTOCOL_TYPE_STANDARD
    #define DRV_SPI_COMM_WIDTH_IDX0 		SPI_COMMUNICATION_WIDTH_8BITS
    #define DRV_SPI_SPI_CLOCK_IDX0 			CLK_BUS_PERIPHERAL_2
    #define DRV_SPI_BAUD_RATE_IDX0 			2000000
    #define DRV_SPI_BUFFER_TYPE_IDX0 		DRV_SPI_BUFFER_TYPE_ENHANCED
    #define DRV_SPI_CLOCK_MODE_IDX0 		DRV_SPI_CLOCK_MODE_IDLE_HIGH_EDGE_FALL
    #define DRV_SPI_INPUT_PHASE_IDX0 		SPI_INPUT_SAMPLING_PHASE_AT_END
    #define DRV_SPI_TX_INT_SOURCE_IDX0 		INT_SOURCE_SPI_1_TRANSMIT
    #define DRV_SPI_RX_INT_SOURCE_IDX0 		INT_SOURCE_SPI_1_RECEIVE
    #define DRV_SPI_ERROR_INT_SOURCE_IDX0 		INT_SOURCE_SPI_1_ERROR
    #define DRV_SPI_INT_VECTOR_IDX0                	INT_VECTOR_SPI1
    #define DRV_SPI_INT_PRIORITY_IDX0               INT_PRIORITY_LEVEL1
    #define DRV_SPI_INT_SUB_PRIORITY_IDX0           INT_SUBPRIORITY_LEVEL0        
    #define DRV_SPI_QUEUE_SIZE_IDX0 		10
    #define DRV_SPI_RESERVED_JOB_IDX0 		1
    #define DRV_SPI_TX_DMA_CHANNEL_IDX0 		DMA_CHANNEL_1
    #define DRV_SPI_TX_DMA_THRESHOLD_IDX0 		16
    #define DRV_SPI_RX_DMA_CHANNEL_IDX0 		DMA_CHANNEL_0
    #define DRV_SPI_RX_DMA_THRESHOLD_IDX0 		16
    
    /*** Wi-Fi Driver Configuration ***/
    
    #define MODULE_EVENT_PRINT 0
    
    #define WDRV_EXT_INIT_TASK_STACK_SIZE 512u
    #define WDRV_EXT_INIT_TASK_PRIO 1u
    #define WDRV_EXT_MAIN_TASK_STACK_SIZE 2048u
    #define WDRV_EXT_MAIN_TASK_PRIO 2u
    
    #define WDRV_ASSERT(condition, msg) WDRV_Assert(condition, msg, __FILE__, __LINE__)
    
    #define DRV_WIFI_SPI_INDEX 0
    #define DRV_WIFI_SPI_INSTANCE sysObj.spiObjectIdx0
    
    #define DRV_WIFI_NVM_SPACE_ENABLE
    #define DRV_WIFI_NVM_SPACE_ADDR (48 * 1024)
    
    #define PIN_MODE_PER_PORT_SELECT
    #define WDRV_BOARD_TYPE WDRV_BD_TYPE_MX_ESK
    
    #define MRF24WN_USE_CN_INT
    
    #define MRF_INT_SOURCE INT_SOURCE_CHANGE_NOTICE
    #define MRF_INT_VECTOR INT_VECTOR_CN
    
    // IO mapping for general control pins, including CS, RESET and HIBERNATE
    // MRF24W in SPI 1 slot
    #define WF_CS_PORT_CHANNEL PORT_CHANNEL_B
    #define WF_CS_BIT_POS      2
    
    #define WF_RESET_PORT_CHANNEL PORT_CHANNEL_F
    #define WF_RESET_BIT_POS      0
    
    #define WF_HIBERNATE_PORT_CHANNEL PORT_CHANNEL_F
    #define WF_HIBERNATE_BIT_POS      1
    
    #define WF_INT_PRIORITY     3
    #define WF_INT_SUBPRIORITY  1
    #define WF_INT_PORT_CHANNEL PORT_CHANNEL_G
    #define WF_INT_BIT_POS      7
    
    // For CN9(GPIO_G7) as extern interrupt, it is better to use another GPIO (GPIO_E0) to read interrupt high or low.
    // We need a jump line to connect GPIO_E0 to GPIO_G7.
    //#define WF_VERIFY_EINT_BY_ANOTHER_GPIO
    #if defined(WF_VERIFY_EINT_BY_ANOTHER_GPIO)
    // Use GPIO_E0. Please use a jump line to connect GPIO_E0 to GPIO_G7. 
    #define WF_INT_PORT_CHANNEL_READ PORT_CHANNEL_E
    #define WF_INT_BIT_POS_READ      0
    #else
    // Still read GPIO_G7.
    #define WF_INT_PORT_CHANNEL_READ PORT_CHANNEL_G
    #define WF_INT_BIT_POS_READ      7
    #endif
    
    #define WDRV_DEFAULT_NETWORK_TYPE WDRV_NETWORK_TYPE_INFRASTRUCTURE
    #define WDRV_DEFAULT_SSID_NAME "IFERVERDIER_2.4GO"
    
    #define WDRV_DEFAULT_WIFI_SECURITY_MODE WDRV_SECURITY_WPA2_WITH_PASS_PHRASE
    #define WDRV_DEFAULT_WEP_KEYS_40 "5AFB6C8E77" // default WEP40 key
    #define WDRV_DEFAULT_WEP_KEYS_104 "90E96780C739409DA50034FCAA" // default WEP104 key
    #define WDRV_DEFAULT_PSK_PHRASE "9DE53F0F9D" // customized WPA-PSK or WPA2-PSK passphrase
    #define WDRV_DEFAULT_WPS_PIN "12390212" // default WPS PIN
    
    #define WDRV_DEFAULT_CHANNEL 6
    #define WDRV_DEFAULT_POWER_SAVE WDRV_FUNC_DISABLED
    
    
    #define WDRV_USE_SPI_DMA
    Images attachées Images attachées  

  25. #24
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    ça c'est la stack
    Pièce jointe 314236

    Code:
    // *****************************************************************************
    // *****************************************************************************
    // Section: TCPIP Stack Configuration
    // *****************************************************************************
    // *****************************************************************************
    #define TCPIP_STACK_USE_IPV4
    #define TCPIP_STACK_USE_TCP
    #define TCPIP_STACK_USE_UDP
    #define TCPIP_STACK_USE_ICMP_CLIENT
    #define TCPIP_STACK_DRAM_SIZE		        		39250
    #define TCPIP_STACK_DRAM_RUN_LIMIT		    		2048
    #define TCPIP_STACK_TICK_RATE		        		5
    
    #define TCPIP_STACK_MALLOC_FUNC		    	malloc
    
    #define TCPIP_STACK_CALLOC_FUNC		    	calloc
    
    #define TCPIP_STACK_FREE_FUNC		    	free
    
    /* TCP/IP stack event notification */
    #define TCPIP_STACK_USE_EVENT_NOTIFICATION
    
    /*** ARP Configuration ***/
    #define TCPIP_ARP_CACHE_ENTRIES                 		5
    #define TCPIP_ARP_CACHE_DELETE_OLD		        	true
    #define TCPIP_ARP_CACHE_SOLVED_ENTRY_TMO			1200
    #define TCPIP_ARP_CACHE_PENDING_ENTRY_TMO			60
    #define TCPIP_ARP_CACHE_PENDING_RETRY_TMO			2
    #define TCPIP_ARP_CACHE_PERMANENT_QUOTA		    		50
    #define TCPIP_ARP_CACHE_PURGE_THRESHOLD		    		75
    #define TCPIP_ARP_CACHE_PURGE_QUANTA		    		1
    #define TCPIP_ARP_CACHE_ENTRY_RETRIES		    		3
    #define TCPIP_ARP_GRATUITOUS_PROBE_COUNT			1
    #define TCPIP_ARP_TASK_PROCESS_RATE		        	2
    
    
    
    /*** DNS Client Configuration ***/
    #define TCPIP_STACK_USE_DNS
    #define TCPIP_DNS_CLIENT_SERVER_TMO					60
    #define TCPIP_DNS_CLIENT_TASK_PROCESS_RATE			200
    #define TCPIP_DNS_CLIENT_CACHE_ENTRIES				5
    #define TCPIP_DNS_CLIENT_CACHE_ENTRY_TMO			0
    #define TCPIP_DNS_CLIENT_CACHE_PER_IPV4_ADDRESS		5
    #define TCPIP_DNS_CLIENT_CACHE_PER_IPV6_ADDRESS		1
    #define TCPIP_DNS_CLIENT_OPEN_ADDRESS_TYPE			IP_ADDRESS_TYPE_IPV4
    #define TCPIP_DNS_CLIENT_CACHE_DEFAULT_TTL_VAL		1200
    #define TCPIP_DNS_CLIENT_CACHE_UNSOLVED_ENTRY_TMO	10
    #define TCPIP_DNS_CLIENT_LOOKUP_RETRY_TMO			5
    #define TCPIP_DNS_CLIENT_MAX_HOSTNAME_LEN			32
    #define TCPIP_DNS_CLIENT_DELETE_OLD_ENTRIES			true
    
    
    
    
    /*** HTTP Configuration ***/
    #define TCPIP_STACK_USE_HTTP_SERVER
    #define TCPIP_HTTP_MAX_HEADER_LEN		    		15
    #define TCPIP_HTTP_CACHE_LEN		        		"600"
    #define TCPIP_HTTP_TIMEOUT		            		45
    #define TCPIP_HTTP_MAX_CONNECTIONS		    		4
    #define TCPIP_HTTP_MAX_TLS_CONNECTIONS		  		0
    #define TCPIP_HTTP_DEFAULT_FILE		        		"index.htm"
    #define TCPIP_HTTPS_DEFAULT_FILE	        		"index.htm"
    #define TCPIP_HTTP_DEFAULT_LEN		        		10
    #define TCPIP_HTTP_MAX_DATA_LEN		        		100
    #define TCPIP_HTTP_MIN_CALLBACK_FREE				16
    #define TCPIP_HTTP_SKT_TX_BUFF_SIZE		    		0
    #define TCPIP_HTTP_SKT_RX_BUFF_SIZE		    		0
    #define TCPIP_HTTP_TLS_SKT_TX_BUFF_SIZE		                0
    #define TCPIP_HTTP_TLS_SKT_RX_BUFF_SIZE		                0
    #define TCPIP_HTTP_CONFIG_FLAGS		        		1
    #define TCPIP_HTTP_FILE_UPLOAD_ENABLE
    #define TCPIP_HTTP_FILE_UPLOAD_NAME				"mpfsupload"
    #define TCPIP_HTTP_USE_POST
    #define TCPIP_HTTP_USE_COOKIES
    #define TCPIP_STACK_USE_BASE64_DECODE
    #define TCPIP_HTTP_USE_AUTHENTICATION
    #define TCPIP_HTTP_TASK_RATE					33
    
    /*** ICMP Configuration ***/
    #define TCPIP_STACK_USE_ICMP_SERVER
    
    /*** iperf Configuration ***/
    #define TCPIP_STACK_USE_IPERF
    #define TCPIP_IPERF_TX_BUFFER_SIZE		4096
    #define TCPIP_IPERF_RX_BUFFER_SIZE  	4096
    #define TCPIP_IPERF_TX_WAIT_TMO     	400
    #define TCPIP_IPERF_TX_QUEUE_LIMIT  	2
    
    
    /*** NBNS Configuration ***/
    #define TCPIP_STACK_USE_NBNS
    #define TCPIP_NBNS_TASK_TICK_RATE   110
    
    /*** SMTP Configuration ***/
    #define TCPIP_STACK_USE_SMTP_CLIENT
    #define TCPIP_SMTP_SERVER_REPLY_TIMEOUT 	8
    #define TCPIP_SMTP_TASK_TICK_RATE			55
    
    
    
    
    
    /*** TCP Configuration ***/
    #define TCPIP_TCP_MAX_SEG_SIZE_TX		        	1460
    #define TCPIP_TCP_MAX_SEG_SIZE_RX_LOCAL		    		1460
    #define TCPIP_TCP_MAX_SEG_SIZE_RX_NON_LOCAL			536
    #define TCPIP_TCP_SOCKET_DEFAULT_TX_SIZE			512
    #define TCPIP_TCP_SOCKET_DEFAULT_RX_SIZE			512
    #define TCPIP_TCP_START_TIMEOUT_VAL		        	1000
    #define TCPIP_TCP_DELAYED_ACK_TIMEOUT		    		100
    #define TCPIP_TCP_FIN_WAIT_2_TIMEOUT		    		5000
    #define TCPIP_TCP_KEEP_ALIVE_TIMEOUT		    		10000
    #define TCPIP_TCP_CLOSE_WAIT_TIMEOUT		    		200
    #define TCPIP_TCP_MAX_RETRIES		            		5
    #define TCPIP_TCP_MAX_UNACKED_KEEP_ALIVES			6
    #define TCPIP_TCP_MAX_SYN_RETRIES		        	2
    #define TCPIP_TCP_AUTO_TRANSMIT_TIMEOUT_VAL			40
    #define TCPIP_TCP_WINDOW_UPDATE_TIMEOUT_VAL			200
    #define TCPIP_TCP_MAX_SOCKETS		            		10
    #define TCPIP_TCP_TASK_TICK_RATE		        	5
    
    
    /*** TCPIP MAC Configuration ***/
    #define TCPIP_EMAC_TX_DESCRIPTORS				8
    #define TCPIP_EMAC_RX_DESCRIPTORS				6
    #define TCPIP_EMAC_RX_DEDICATED_BUFFERS				4
    #define TCPIP_EMAC_RX_INIT_BUFFERS				    0
    #define TCPIP_EMAC_RX_LOW_THRESHOLD				    1
    #define TCPIP_EMAC_RX_LOW_FILL				        2
    #define TCPIP_EMAC_RX_BUFF_SIZE		    			1536
    #define TCPIP_EMAC_RX_MAX_FRAME		    			1536
    #define TCPIP_EMAC_RX_FRAGMENTS		    			1
    #define TCPIP_EMAC_ETH_OPEN_FLAGS       			\
                                                        TCPIP_ETH_OPEN_AUTO |\
                                                        TCPIP_ETH_OPEN_FDUPLEX |\
                                                        TCPIP_ETH_OPEN_HDUPLEX |\
                                                        TCPIP_ETH_OPEN_100 |\
                                                        TCPIP_ETH_OPEN_10 |\
                                                        TCPIP_ETH_OPEN_MDIX_AUTO |\
                                                        0
    #define TCPIP_EMAC_PHY_CONFIG_FLAGS     			\
                                                        DRV_ETHPHY_CFG_AUTO | \
                                                        0                                                    
    #define TCPIP_EMAC_PHY_LINK_INIT_DELAY  			500
    #define TCPIP_EMAC_PHY_ADDRESS		    			1
    #define TCPIP_EMAC_INTERRUPT_MODE        			true
    #define DRV_ETHPHY_INSTANCES_NUMBER				1
    #define DRV_ETHPHY_CLIENTS_NUMBER				1
    #define DRV_ETHPHY_INDEX		        		1
    #define DRV_ETHPHY_PERIPHERAL_ID				1
    #define DRV_ETHPHY_NEG_INIT_TMO		    			1
    #define DRV_ETHPHY_NEG_DONE_TMO		    			2000
    #define DRV_ETHPHY_RESET_CLR_TMO				500
    #define DRV_ETHMAC_INSTANCES_NUMBER				1
    #define DRV_ETHMAC_CLIENTS_NUMBER				1
    #define DRV_ETHMAC_INDEX	    	    			1
    #define DRV_ETHMAC_PERIPHERAL_ID				1
    #define DRV_ETHMAC_INTERRUPT_VECTOR				INT_VECTOR_ETHERNET
    #define DRV_ETHMAC_INTERRUPT_SOURCE				INT_SOURCE_ETH_1
    #define DRV_ETHMAC_POWER_STATE		    			SYS_MODULE_POWER_RUN_FULL
    
    #define DRV_ETHMAC_INTERRUPT_MODE        			true
    
    
    
    /*** UDP Configuration ***/
    #define TCPIP_UDP_MAX_SOCKETS		                	10
    #define TCPIP_UDP_SOCKET_DEFAULT_TX_SIZE		    	512
    #define TCPIP_UDP_SOCKET_DEFAULT_TX_QUEUE_LIMIT    	 	3
    #define TCPIP_UDP_SOCKET_DEFAULT_RX_QUEUE_LIMIT			5
    #define TCPIP_UDP_SOCKET_POOL_BUFFERS		        	4
    #define TCPIP_UDP_SOCKET_POOL_BUFFER_SIZE		    	512
    
    #define TCPIP_UDP_USE_TX_CHECKSUM             			true
    
    #define TCPIP_UDP_USE_RX_CHECKSUM             			true
    
    #define TCPIP_STACK_USE_ZEROCONF_LINK_LOCAL
    #define TCPIP_ZC_LL_PROBE_WAIT 1
    #define TCPIP_ZC_LL_PROBE_MIN 1
    #define TCPIP_ZC_LL_PROBE_MAX 2
    #define TCPIP_ZC_LL_PROBE_NUM 3
    #define TCPIP_ZC_LL_ANNOUNCE_WAIT 2
    #define TCPIP_ZC_LL_ANNOUNCE_NUM 2
    #define TCPIP_ZC_LL_ANNOUNCE_INTERVAL 2
    #define TCPIP_ZC_LL_MAX_CONFLICTS 10
    #define TCPIP_ZC_LL_RATE_LIMIT_INTERVAL 60
    #define TCPIP_ZC_LL_DEFEND_INTERVAL 10
    #define TCPIP_ZC_LL_IPV4_LLBASE 0xa9fe0100
    #define TCPIP_ZC_LL_IPV4_LLBASE_MASK 0x0000FFFF
    #define TCPIP_ZC_LL_TASK_TICK_RATE 333
    #define TCPIP_STACK_USE_ZEROCONF_MDNS_SD
    #define TCPIP_ZC_MDNS_TASK_TICK_RATE 63
    #define TCPIP_ZC_MDNS_PORT 5353
    #define TCPIP_ZC_MDNS_MAX_HOST_NAME_SIZE 32
    #define TCPIP_ZC_MDNS_MAX_LABEL_SIZE 64
    #define TCPIP_ZC_MDNS_MAX_RR_NAME_SIZE 256
    #define TCPIP_ZC_MDNS_MAX_SRV_TYPE_SIZE 32
    #define TCPIP_ZC_MDNS_MAX_SRV_NAME_SIZE 64
    #define TCPIP_ZC_MDNS_MAX_TXT_DATA_SIZE 128
    #define TCPIP_ZC_MDNS_RESOURCE_RECORD_TTL_VAL 3600
    #define TCPIP_ZC_MDNS_MAX_RR_NUM 4
    #define TCPIP_ZC_MDNS_PROBE_WAIT 750
    #define TCPIP_ZC_MDNS_PROBE_INTERVAL 250
    #define TCPIP_ZC_MDNS_PROBE_NUM 3
    #define TCPIP_ZC_MDNS_MAX_PROBE_CONFLICT_NUM 30
    #define TCPIP_ZC_MDNS_ANNOUNCE_NUM 3
    #define TCPIP_ZC_MDNS_ANNOUNCE_INTERVAL 250
    #define TCPIP_ZC_MDNS_ANNOUNCE_WAIT 250
    
    
    /*** Network Configuration Index 0 ***/
    #define TCPIP_NETWORK_DEFAULT_INTERFACE_NAME 			"PIC32INT"
    #define TCPIP_IF_PIC32INT
    #define TCPIP_NETWORK_DEFAULT_HOST_NAME 			"MCHPBOARD_E"
    #define TCPIP_NETWORK_DEFAULT_MAC_ADDR	 			0
    #define TCPIP_NETWORK_DEFAULT_IP_ADDRESS 			"192.168.1.118"
    #define TCPIP_NETWORK_DEFAULT_IP_MASK 				"255.255.255.0"
    #define TCPIP_NETWORK_DEFAULT_GATEWAY	 			"192.168.1.1"
    #define TCPIP_NETWORK_DEFAULT_DNS 				"192.168.1.1"
    #define TCPIP_NETWORK_DEFAULT_SECOND_DNS 			"0.0.0.0"
    #define TCPIP_NETWORK_DEFAULT_POWER_MODE 			"full"
    #define TCPIP_NETWORK_DEFAULT_INTERFACE_FLAGS   		TCPIP_NETWORK_CONFIG_IP_STATIC
    #define TCPIP_NETWORK_DEFAULT_MAC_DRIVER 		    DRV_ETHMAC_PIC32MACObject
    #define TCPIP_NETWORK_DEFAULT_IPV6_ADDRESS 			0
    #define TCPIP_NETWORK_DEFAULT_IPV6_PREFIX_LENGTH 		0
    #define TCPIP_NETWORK_DEFAULT_IPV6_GATEWAY 		        0
    
    /*** Network Configuration Index 0 ***/
    #define TCPIP_NETWORK_DEFAULT_INTERFACE_NAME_IDX1 		"MRF24WN"
    #define TCPIP_IF_MRF24WN
    #define TCPIP_NETWORK_DEFAULT_HOST_NAME_IDX1 			"MCHPBOARD_W"
    #define TCPIP_NETWORK_DEFAULT_MAC_ADDR_IDX1 			0
    #define TCPIP_NETWORK_DEFAULT_IP_ADDRESS_IDX1 			"192.168.1.121"
    #define TCPIP_NETWORK_DEFAULT_IP_MASK_IDX1 			"255.255.255.0"
    #define TCPIP_NETWORK_DEFAULT_GATEWAY_IDX1 			"192.168.1.1"
    #define TCPIP_NETWORK_DEFAULT_DNS_IDX1 				"192.168.1.1"
    #define TCPIP_NETWORK_DEFAULT_SECOND_DNS_IDX1 			"0.0.0.0"
    #define TCPIP_NETWORK_DEFAULT_POWER_MODE_IDX1 			"full"
    #define TCPIP_NETWORK_DEFAULT_INTERFACE_FLAGS_IDX1 		TCPIP_NETWORK_CONFIG_IP_STATIC
    #define TCPIP_NETWORK_DEFAULT_MAC_DRIVER_IDX1 		WDRV_MRF24WN_MACObject
    #define TCPIP_NETWORK_DEFAULT_IPV6_ADDRESS_IDX1 		0
    #define TCPIP_NETWORK_DEFAULT_IPV6_PREFIX_LENGTH_IDX1 		0
    #define TCPIP_NETWORK_DEFAULT_IPV6_GATEWAY_IDX1 		0
    /*** tcpip_cmd Configuration ***/
    #define TCPIP_STACK_COMMAND_ENABLE
    #define TCPIP_STACK_COMMANDS_STORAGE_ENABLE
    #define TCPIP_STACK_COMMANDS_ICMP_ECHO_REQUESTS         4
    #define TCPIP_STACK_COMMANDS_ICMP_ECHO_REQUEST_DELAY    1000
    #define TCPIP_STACK_COMMANDS_ICMP_ECHO_TIMEOUT          5000
    #define TCPIP_STACK_COMMANDS_WIFI_ENABLE             	true
    
    
    /*** TCPIP SYS FS Wrapper ***/
    #define SYS_FS_MAX_PATH						80
    #define LOCAL_WEBSITE_PATH_FS				"/mnt/mchpSite1"
    #define LOCAL_WEBSITE_PATH					"/mnt/mchpSite1/"
    #define SYS_FS_DRIVE						"FLASH"
    #define SYS_FS_NVM_VOL						"/dev/nvma1"
    #define SYS_FS_FATFS_STRING					"FATFS"
    #define SYS_FS_MPFS_STRING					"MPFS2"
    
    /* BSP LED Re-directs */
    #define APP_TCPIP_LED_1 BSP_LED_1
    #define APP_TCPIP_LED_2 BSP_LED_2
    #define APP_TCPIP_LED_3 BSP_LED_3
    //#define APP_TCPIP_LED_4 BSP_LED_4
    
    #define APP_TCPIP_SWITCH_1 BSP_SWITCH_1
    #define APP_TCPIP_SWITCH_2 BSP_SWITCH_2
    #define APP_TCPIP_SWITCH_3 BSP_SWITCH_3
    
    /*** OSAL Configuration ***/
    #define OSAL_USE_RTOS          1
    
    // *****************************************************************************
    /* BSP Configuration Options
    */
    #define BSP_OSC_FREQUENCY 8000000

  26. #25
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Arrête d'arroser le forum avec tous ces fichiers. Harmony il faut l'utiliser en cochant les options voulues, système et périphériques, et il génère son propre code, notamment toute la partie initialisation. Ensuite il te permet de placer à des endroits stratégiques ton code utilisateur, sans toucher au reste, surtout si on débute avec. Vouloir travailler différemment, c'est perdre ses avantages, et affronter sa complexité.

  27. #26
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    Arrête d'arroser le forum avec tous ces fichiers. Harmony il faut l'utiliser en cochant les options voulues, système et périphériques, et il génère son propre code, notamment toute la partie initialisation. Ensuite il te permet de placer à des endroits stratégiques ton code utilisateur, sans toucher au reste, surtout si on débute avec. Vouloir travailler différemment, c'est perdre ses avantages, et affronter sa complexité.
    désolé, c'était juste pour donner un aperçu, comme tu m'a dis ne pas l'utiliser, Je débute effectivement mais ça reste déroutant car tu sais pas trop ce qu'il fait par moment et j'essai de savoir comment changer le timer2 en 1.

  28. #27
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Je ne t'ai pas dit de ne pas l'utiliser, je t'ai dit que moi je ne l'utilisais pas. Toi tu l'utilises et c'est très bien, car comme tu as tendance à pas suivre les datasheets , il vaut mieux que tu passes par un configurateur. D'ailleurs ce configurateur avec 2 ou 3 clics, t'aurait donné la réponse à ta première question sur les timers, et t'aurait aussi permis avec quelques clics de plus, de savoir si Harmony permettait d'avoir à la fois une pile IP et un pwm 32 bits, ce qui j'espère est possible puisque le pic le permet.
    Utilise le configurateur Harmony pour tout timer, pwm, piles, ou n'utilise pas Harmony.
    Et si tu trouves un peu compliqué l'interface utilisateur d'Harmony (state machine, lignes TODO, commandes (tcp/ip), fonctions callback, ect) trouve une bonne doc, suis des tutorials, y a pas d'autre voie.

  29. #28
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    Je ne t'ai pas dit de ne pas l'utiliser, je t'ai dit que moi je ne l'utilisais pas. Toi tu l'utilises et c'est très bien, car comme tu as tendance à pas suivre les datasheets , il vaut mieux que tu passes par un configurateur. D'ailleurs ce configurateur avec 2 ou 3 clics, t'aurait donné la réponse à ta première question sur les timers, et t'aurait aussi permis avec quelques clics de plus, de savoir si Harmony permettait d'avoir à la fois une pile IP et un pwm 32 bits, ce qui j'espère est possible puisque le pic le permet.
    Utilise le configurateur Harmony pour tout timer, pwm, piles, ou n'utilise pas Harmony.
    Et si tu trouves un peu compliqué l'interface utilisateur d'Harmony (state machine, lignes TODO, commandes (tcp/ip), fonctions callback, ect) trouve une bonne doc, suis des tutorials, y a pas d'autre voie.
    Autant pour moi, je me suis mal exprimé, ou tapé trop vite , c'est pas ce que je voulais exprimé, effectivement tu m'a pas dit de ne pas l'utilisé, j'ai bien compris.
    Je m'aide des docs et aimerai bien configurer avec harmony au plus simple, seulement par moment j'ai du mal à voir ce qu'il fais , c'est pour ça que je configure les registres , je suis sûr que c'est un outille puissant seulement débutant avec j'essai de faire le lien entre ces configues et les registres sur lesquels il agit.

    Mon but est de le maitriser, mais ça vient pas tout de suite, c'est pour ça qu'un peu d'aide de personne plus averti que moi en pic et plus particulièrement en stack tcp ip me serai une grande aide pour me faire avancé, je potasse aussi les docs, bon après je ne percute pas forcement tout de suite mais j'y travaille et vos éclaircissement m'oriente aussi.

  30. #29
    satinas

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    D'abord fais marcher ta pile seule avec les paramètres par défaut.
    Ensuite fais la marcher en changeant si nécessaire le(s) timer(s) pour libérer les timers 2 et 3.
    Ensuite tu rajoutes le pwm 32 bits.
    Tout ça doit être fait depuis le configurateur. Tu peux aller consulter les fichiers générés, mais pas les modifier.
    Il y a quand même un paquet d'exemples de toutes sortes fournis avec Harmony.

  31. #30
    davidif

    Re : programmation d'un pic32mx795f512l avec module MRF24GN0MB

    Citation Envoyé par satinas Voir le message
    D'abord fais marcher ta pile seule avec les paramètres par défaut.
    Ensuite fais la marcher en changeant si nécessaire le(s) timer(s) pour libérer les timers 2 et 3.
    Ensuite tu rajoutes le pwm 32 bits.
    Tout ça doit être fait depuis le configurateur. Tu peux aller consulter les fichiers générés, mais pas les modifier.
    Il y a quand même un paquet d'exemples de toutes sortes fournis avec Harmony.
    Merci satinas pour tes conseils,

    J'ai effectivement fais très bien fonctionné tout ça par défaut sans soucie mon problème est de trouvé à quel endroit je peux modifier ce timer, après une fois changé je pourrai utilisé les timers 2 et 3 et faire ce que je souhaite.

    Je n'ai pas encore identifié ou intervenir dans les éléments à coché, faut que je potasse la doc.

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. programmation d'un pic32mx795f512l
    Par davidif dans le forum Électronique
    Réponses: 0
    Dernier message: 24/03/2015, 17h39
  2. Programmation Module Wifi EB-069 avec Flowcode
    Par Blondrboy dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 16/03/2015, 08h52
  3. programmation d'un pic32mx795f512l
    Par davidif dans le forum Électronique
    Réponses: 22
    Dernier message: 02/03/2015, 14h17
  4. configurer un module xbee avec un autre module - appairage
    Par ti7bo7 dans le forum Électronique
    Réponses: 0
    Dernier message: 27/08/2012, 09h57
  5. Réponses: 0
    Dernier message: 01/08/2008, 19h56
Découvrez nos comparatifs produits sur l'informatique et les technologies.