Hallo,
ich benötige dringend Hilfe!
Ich versuche seit Tagen einen SD-Datenrekorder zum laufen zu bringen.
Ich habe dazu schon die AVR FAT32 Lib und die von Roland Riegel
probiert.
Am Anfang gingen beide aber nach kurzem herumprobieren beider Libaries
ging gar nichts mehr
SD-Karten habe ich 3 verschieden versucht, MEDION 1GB, SanDisk 128MB,
SanDisk 1GB. Am Anfang gingen alle 3 SD Karte.
Auch mit verschiedenen uC(Atmega644 an 14,7456MHZ) habe ich es dann
nochmal getestet, immer das gleiche.
Ich bekomme einfach keine Antwort von der SD Karte (MISO Pegel ist immer
High)
Als Pegelwandler 5V3V habe ich den SD-Conector von Display3000 und das
SD-Card Interface von Conrad probiert.
Ich verstehe nicht wieso der MISO Pegel immer High ist.
Mein Programm sieht folgendermaßen aus:
#include
#include „mmc_config.h“ // Hier werden alle noetigen Konfigurationen
vorgenommen, umbedingt anschauen !
#include „file.h“
#include „fat.h“
#include „mmc.h“ // Hardware abhaengig
// prototypen von funktionen in dieser datei
static void timer0_init(void);
// timer0 einstellungen, werte mit http://www.avrcalc.com/download.html
berechnet!
// aus diesen 3 werten ergibt sich die tick zeit, hier 10ms.
// 4 = prescaler 256, 3 = prescaler 64, 5 = prescaler 1024, 2 =
prescaler 8. wenn prescaler 0 = prescaler dann stoppt der timer
#define TOP_OCR 0x8F
#define START_TCNT 0x70
#define PRESCALER 0x05
// timer0 variable
volatile uint8_t TimingDelay; // fuer mmc.c
//
************************************************************************
*****************************************
ISR (TIMER0_COMPA_vect)
{
TimingDelay = (TimingDelay==0) ? 0 : TimingDelay-1;
}
//
************************************************************************
*****************************************
static void timer0_init(){
TimingDelay = 0; // initialisierung der zaehl variable
TCCR0A = 1