November 07, 2024, 09:39:32 PM

Pinguino Micro - SD card on mplab

Started by oryx_r, February 11, 2014, 10:19:10 AM

Previous topic - Next topic

oryx_r

English
Hi,
I need your help, I want writing data on sdmmc with the MPLAB (XC32) but it don't work.
I think it's an error with the #MMC_CS (TDI/AN13/PMA10/RB13), it's not configurating well. When I want to change it (to pass high to low), I cann't.  Is it the JTAG activation that put problem ? How can I desactivate ?
When I make it with mpide it work.
Can you help me.

The code is explain in the french version below.
Thanks

French
Bonjour à tous,
Je suis un peu désespéré, j'arrive à écrire sur carte SD avec l'IDE pinguino, mais comme je suis plus alaise avec MPLAB (XC32) je code avec.
Mais le problème, c'est que je n'arrive pas à écrire sur la carte SD, j'ai un problème d'initialisation du CS (il ne fait pas ce que je veux), j'ai vu que c'est le port TDI/AN13/PMA10/RB13 : j'ai peur qu'un autre périphérique l'utilise (principalement le JTAG qui utilise TDI). Je voulais savoir comment le désactiver et rendre disponible uniquement RB13.

Pour info, voici les codes (permettant de faire varier RB13 cycliquement) (changement contrôlé à l'oscillo :
Celui qui fonctionne sur pinguino :

void setup() {
    //run once:
    _RB13 = 1;
    _TRISB13 = 0;
    }

void loop() {
    //run repeatedly:
    int a;
delay(1);
_RB13 = 1;
delay(1);
_RB13 = 0;
    }


Celui qui ne fonctionne pas sur MPLAB X :

#include <stdio.h>
#include <stdlib.h>
#include <plib.h>

int main(int argc, char** argv) {
    _TRISB13 = 0;
    int i=0;
    while (1){
        _RB13=0;
        i=0;
        while(i<1000)
            i++;
        _RB13=1;
        i=0;
        while(i<1000)
            i++;
    }
    return (EXIT_SUCCESS);
}


Si vous avez une astuce, je suis preneur car je ne trouve rien du tout.

Merci d'avance
Pierre

PS : je n'arrive pas à travailler correctement avec Pinguino car je n'arrive pas à scinder le programme en plusieurs fichier, si vous savez comment faire, je suis preneur. Merci d'avance

Lurch

RB13 is also AN13, i.e. an analog pin.  Are you setting it to digital in your code?