Ich verbinde eine 32-GB-Micro-SD-Karte mit PIC32MX795F512L. Ich folge den Beispielen im Buch von Lucio de Jasio. In einem ihrer Beispiele verwenden sie, while( !getCD());
um zu überprüfen, ob die Karte vorhanden ist oder nicht. Aber das scheint in meinem Fall nicht zu funktionieren, denn wenn ich die Karte entferne, gibt es keinen Fehler und bewegt sich vorwärts. Unten ist sein Code:
// SD card connector presence detection switch
int getCD( void)
// returns TRUE card present
// FALSE card not present
{
return !SDCD;
}
In der Hardware SD-CD
ist Pin mit verbunden RA15
. Wie wird also das Vorhandensein der Karte erkannt?
BEARBEITEN:
Oben ist das Schema für SD-Kartenverbindungen. SD-CD#
pin ist der Pin für die Kartenerkennung. Ich überprüfe die Spannungsänderung an, R34
aber es gibt keine Änderung. Wenn die Karte entfernt wird, wird angezeigt 3.5v
, und wenn die Karte eingeführt wird, wird erneut angezeigt 3.5v
. Mache ich etwas falsch oder hat die Hardware ein Problem?
Die SD-Kartenerkennung erfolgt normalerweise über einen mechanischen Schalter, der direkt in den SD-Kartensteckplatz eingebaut ist. Es öffnet und schließt sich beim Einstecken und Herausnehmen der Karte. Sie müssen untersuchen, wie dieser Schalter in Ihrer Hardware angeschlossen ist, und testen, ob dies bis zum PIC32-Pin korrekt funktioniert, bevor Sie überhaupt anfangen, über Softwareprobleme nachzudenken.
Das Testen der Hardware sollte so einfach sein wie das Betrachten des Signals, das zum PIC32-Pin geht, mit einer Oszilloskopsonde oder einem Multimeter im Volt-Messmodus. Mit der PIC32-Platine versorgter Monitor, wenn es Zustandsänderungen im Signal gibt, wenn eine Karte eingesteckt oder entfernt wird. Wenn dies nicht funktioniert, ist der Schalter in der Steckdose nicht richtig angeschlossen. Typisch ist, dass eine Seite dieser Schalter mit GND verbunden ist. Die andere Seite hat einen Pullup-Widerstand gegen +3,3 V und ist ebenfalls mit dem PIC32-Pin verbunden. Wenn es richtig funktioniert, sollten Sie sehen, dass es zwischen 3,3 V und GND wechselt.
Nachdem Sie die Hardwareverbindung überprüft haben, ist es an der Zeit, den Aspekt der PIC32-Software zu untersuchen. Die spezielle Pin-Verbindung muss ein Allzweck-Eingangsport-Pin am Mikroprozessor sein. Dann muss dieser Port-Pin richtig konfiguriert werden, um als digitaler Eingangspin zu fungieren. Wenn es nicht richtig konfiguriert ist, wird es keine Freude machen, das Statussignal der SD-Karte einzulesen.
PlasmaHH
Benutzer007
Benutzer007
Michael Karas
mgruber4