- LiFePO4 Speicher Test         
Ergebnis 1 bis 3 von 3

Thema: BIT BANDING auf GPIO's beim LPC17xx

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Das Problem ist gelöst:

    Die GPIO's befinden sich NICHT im Peripherie Bereich, sondern im SRAM Bereich
    und so muss ich die anderen Macros benutzen.

    also NICHT perSetBit(LPC_FIO0PIN,0); sondern varSetBit(LPC_FIO0PIN,0);

    Die Firma NXP hat mir auch zurück geschrieben mit einem zusätzlichen Hinweis:
    Code:
    Bit-banding is possible, since the GPIO's are in the Cortex-M3 "SRAM" area.
    
    Example for GPIO1.28:
    #define BITBAND_SRAM(a,b) ((volatile uint32_t *)((0x22000000 + ((uint32_t)(a)-0x20000000)*32)))[b]
    #define LED    BITBAND_SRAM(&GPIO1->FIOPIN, 28)
    
    This only makes sense for the FIOPIN or FIODIR registers, not for FIOSET  and FIOCLR. Note that bit-banding performs a read-modify-write  operation on the peripheral register when writing by bit-banding!
    
    Also note that writing to FIOPIN by bit-banding requires a __DSB()  instruction afterwards. This is due to the structure of the GPIO block.
    
    Example:
    LED = 1;
    __DSB();

    Im IAR-COMPILER kann das __DSB(); wie folgt geschrieben werden:

    __asm("DSB");
    /* ein doppelter Unterstrich */

    Die Funktion ansich ist auch ohne das DSB (Data Synchronisation Barrier) gegeben. Aber das DSB stellt sicher, daß die intgerne Verarbeitung auch fertig geworden ist.
    "The DSB instruction completes when all explicit memory accesses before it complete."
    Geändert von Siro (11.02.2014 um 10:28 Uhr)

Ähnliche Themen

  1. [ERLEDIGT] Problem mit GPIO beim Raspberry Pi
    Von Kampi im Forum Raspberry Pi
    Antworten: 19
    Letzter Beitrag: 25.08.2012, 17:49
  2. 8 Bit stand alone PWM auf 16 Bit aufgebohrt
    Von The Man im Forum Assembler-Programmierung
    Antworten: 4
    Letzter Beitrag: 28.11.2008, 12:26
  3. Antworten: 11
    Letzter Beitrag: 28.08.2006, 16:23
  4. 10 bit auf einmal vergleichen ?
    Von Bunch im Forum AVR Hardwarethemen
    Antworten: 7
    Letzter Beitrag: 27.10.2005, 10:02
  5. 16 Bit auf 2x 8Bit aufteilen....
    Von Magge2k im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 06.07.2005, 18:02

Berechtigungen

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

Solar Speicher und Akkus Tests