- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 6 von 6

Thema: STM32F1xx SDIO für SD-Karte bereitet Kopfschmerzen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von erik_wolfram
    Registriert seit
    02.12.2009
    Ort
    Berlin
    Beiträge
    406
    Hallo,

    ich habe einen STM32F103VET6. Ich habe jetzt festgestellt, dass ich die Interrupts nicht initialisert habe. Dafür muss ich die Biblieothek erstmal für den 32f1xx anpassen - sie ist für einen 32f4xx geschrieben...
    Ich werde berichten was ich erreicht habe!
    Meine Projekte auf Youtube

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von erik_wolfram
    Registriert seit
    02.12.2009
    Ort
    Berlin
    Beiträge
    406
    So anscheinend war es das - ich habe es jetzt halbwegs am laufen und kämpfe mit FATFS.

    Ich habe die Funktion "NVIC_Configuration()" nachgetragen. Diese wird jetzt unmittelbar in "SD_Init()" aufgerufen.
    Code:
    static void NVIC_Configuration( void )
    {
      NVIC_InitTypeDef NVIC_InitStructure;
    
      NVIC_PriorityGroupConfig( NVIC_PriorityGroup_1 );
    
      NVIC_InitStructure.NVIC_IRQChannel = SDIO_IRQn;
      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
      NVIC_Init( &NVIC_InitStructure );
    }
    Weiterhin wurde das Interupt "verlinkt" (stm32f10x_it.c):
    Code:
    void SDIO_IRQHandler(void)
    {
        /* Process All SDIO Interrupt Sources */
        SD_ProcessIRQSrc();
    }
    Das ganze läuft jetzt ohne separates Interupt für den DMA - obwohl ich hier einige Beispiele gefunden habe die dies verwendeten....
    Vlt. benötigt der F4 dies?! Demnächst werde ich das ganze auch auf einem F4 umsetzen ...

    Die Clock-Divider (CLKDIV) für den SDIO konnte ich jetzt auf 1 reduizieren:
    SDIO_TRANSFER_CLK_DIV = 1

    Obwohl für die Frequenz gilt:
    SDIO_CK frequency = SDIOCLK / [CLKDIV + 2].
    läuft das ganze nicht mit CLKDIV = 0
    Geändert von erik_wolfram (12.01.2017 um 07:08 Uhr)
    Meine Projekte auf Youtube

  3. #3
    Unregistriert
    Gast
    Hi Erik,

    bis die SD-Card bekannt ist, darf der Clock max. 400KHz betragen, am ende von INIT habe ich auf 24Mhz / 4BitBus umgeschaltet.

    VG
    Peter

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von erik_wolfram
    Registriert seit
    02.12.2009
    Ort
    Berlin
    Beiträge
    406
    Ahh ok, ich sehe grade, dass der AHB Bus mit 72 MHz taktet.
    Damit erhalte ich gemäß der Gleichung 24 MHz für CLKDIV = 1; die CLKDIV = 0 gelten dann nur für die 48 MHz CPU-Frequenz....
    Meine Projekte auf Youtube

Ähnliche Themen

  1. STM32F1xx FSMC und DMA zur LCD-Ansteuerung bereitet Probleme
    Von erik_wolfram im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 1
    Letzter Beitrag: 21.10.2016, 06:35
  2. Moley Robotics: Der Roboter bereitet das Essen zu
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 1
    Letzter Beitrag: 15.04.2015, 23:59
  3. Arduino Due HSMCI - SD/SDIO/MMC
    Von Superhirn im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 0
    Letzter Beitrag: 25.01.2013, 10:57
  4. Raumfahrt: Weltraumroboter Dextre bereitet Betanken von Satelliten vor
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 13.03.2012, 11:20
  5. Maussensor auslesen bereitet Probleme
    Von flntobi im Forum Sensoren / Sensorik
    Antworten: 12
    Letzter Beitrag: 29.05.2011, 13:38

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress