- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 1 von 1

Thema: Coocox und die Benutzung der I2C-Bibliothek

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.10.2013
    Beiträge
    15

    Coocox und die Benutzung der I2C-Bibliothek

    Anzeige

    E-Bike
    Hallo liebes Forum,

    ich möchte einen DS1621s mit einem LPC1769 ansteuern.
    Nun fängt es bei mir schon so an, dass ich gar nicht richtig mit der Software resp. der I2C-Bibliothek klar komme..
    Ich verwende u.a. die mitgelieferte Header/Source "17xx_i2c.h/c".
    Da möchte ich z.B. die I2C1-Peripherie verwenden (I2C0 halte ich für übertrieben von der Taktrate her) und die Pins dementsprechend konfigurieren (P0.0 für SDA1 und P0.1 für SCL1).
    Ich weiß aber nicht, wie ich die ganzen Funktionen, die in der Bibliothek sind einstelle..
    Z.B. folgende Initiallisierung:

    Code:
    void I2C_Init(LPC_I2C_TypeDef *I2Cx, uint32_t clockrate)
    {
    	CHECK_PARAM(PARAM_I2Cx(I2Cx));
    
    	if (I2Cx==LPC_I2C0)
    	{
    		/* Set up clock and power for I2C0 module */
    		CLKPWR_ConfigPPWR (CLKPWR_PCONP_PCI2C0, ENABLE);
    		/* As default, peripheral clock for I2C0 module
    		 * is set to FCCLK / 2 */
    		CLKPWR_SetPCLKDiv(CLKPWR_PCLKSEL_I2C0, CLKPWR_PCLKSEL_CCLK_DIV_2);
    	}
    	else if (I2Cx==LPC_I2C1)
    	{
    		/* Set up clock and power for I2C1 module */
    		CLKPWR_ConfigPPWR (CLKPWR_PCONP_PCI2C1, ENABLE);
    		/* As default, peripheral clock for I2C1 module
    		 * is set to FCCLK / 2 */
    		CLKPWR_SetPCLKDiv(CLKPWR_PCLKSEL_I2C1, CLKPWR_PCLKSEL_CCLK_DIV_2);
    	}
    	else if (I2Cx==LPC_I2C2)
    	{
    		/* Set up clock and power for I2C2 module */
    		CLKPWR_ConfigPPWR (CLKPWR_PCONP_PCI2C2, ENABLE);
    		/* As default, peripheral clock for I2C2 module
    		 * is set to FCCLK / 2 */
    		CLKPWR_SetPCLKDiv(CLKPWR_PCLKSEL_I2C2, CLKPWR_PCLKSEL_CCLK_DIV_2);
    	}
    	else {
    		// Up-Support this device
    		return;
    	}
    
        /* Set clock rate */
        I2C_SetClock(I2Cx, clockrate);
        /* Set I2C operation to default */
        I2Cx->I2CONCLR = (I2C_I2CONCLR_AAC | I2C_I2CONCLR_STAC | I2C_I2CONCLR_I2ENC);
    Wobei man sich da zwischen I2C0,1 und 2 entscheiden muss..
    Meine Frage lautet, wie ich das nun einstelle? Soll ich ganz oben einfach definieren? --> #define I2Cx I2C1
    Oder sollte ich in der main.c die Initiallisierung aufrufen bzw schreiben und die restlichen Code-Schnipsel, die nicht das I2C1 beinhalten rauslöschen?
    Quasi nur so:

    Code:
    void I2C_Init(LPC_I2C_TypeDef *I2Cx, uint32_t clockrate)
    {
    	CHECK_PARAM(PARAM_I2Cx(I2Cx));
    
    	
    	(I2Cx==LPC_I2C1)
    	{
    		/* Set up clock and power for I2C1 module */
    		CLKPWR_ConfigPPWR (CLKPWR_PCONP_PCI2C1, ENABLE);
    		/* As default, peripheral clock for I2C1 module
    		 * is set to FCCLK / 2 */
    		CLKPWR_SetPCLKDiv(CLKPWR_PCLKSEL_I2C1, CLKPWR_PCLKSEL_CCLK_DIV_2);
    	}
    	
    		// Up-Support this device
    		return;
    	}
    
        /* Set clock rate */
        I2C_SetClock(I2Cx, clockrate);
        /* Set I2C operation to default */
        I2Cx->I2CONCLR = (I2C_I2CONCLR_AAC | I2C_I2CONCLR_STAC | I2C_I2CONCLR_I2ENC);

    Vielen Dank euch schonmal!


    Nachtrag: Hab die Lösung gefunden. Anscheinend muss man sie nur ersetzen.
    Geändert von Tomatello (16.12.2013 um 14:34 Uhr) Grund: lösung gefunden

Ähnliche Themen

  1. LCD über I2C C-Bibliothek für AVR
    Von privatestatic im Forum Open Source Software Projekte
    Antworten: 5
    Letzter Beitrag: 29.05.2014, 22:49
  2. C++ mit CooCox
    Von bbraune im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 2
    Letzter Beitrag: 08.08.2013, 21:00
  3. Nibo2: Version 2.7 der Bibliothek erschienen
    Von workwind im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 17
    Letzter Beitrag: 26.07.2010, 20:02
  4. SRF10 Sensor mit Peter Fleurys I2c Bibliothek auslesen
    Von Analog im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 12.06.2008, 10:46
  5. Frage zur I2C-Bibliothek von P.Fleury
    Von vklaffehn im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 03.06.2007, 22:10

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test