-         

Ergebnis 1 bis 2 von 2

Thema: Nuvoton Cortex-M0 und Sensor SRF02

  1. #1

    Nuvoton Cortex-M0 und Sensor SRF02

    Anzeige

    Hoffe hier kann mir jemand helfen. Ich nutze o.g. MC und Sensor und möchte diesen, wie könnte es anders sein, auslesen. Ich schaff es aber nur das LSB auszulesen, das MSB geht "verloren" oder so.
    Hier mein Code zum Auslesen der Register von MSB und LSB:
    Code:
    	DrvI2C_Ctrl(I2C_PORT1, 1, 0, 1, 0);						//Start I2C
    	while (DrvI2C_GetStatus(I2C_PORT1) != 0x08);
    	
    	DrvI2C_WriteData(I2C_PORT1, 0xE0);						//Slave Address
    	DrvI2C_Ctrl(I2C_PORT1, 0, 0, 1, 0);
    	while (DrvI2C_GetStatus(I2C_PORT1) != 0x18);
    	
    	DrvI2C_WriteData(I2C_PORT1, 3);								//Register 3
    	DrvI2C_Ctrl(I2C_PORT1, 0, 0, 1, 0);
    	while (DrvI2C_GetStatus(I2C_PORT1) != 0x28);
    	
    	DrvI2C_WriteData(I2C_PORT1, 2);								//Register 2
    	DrvI2C_Ctrl(I2C_PORT1, 0, 0, 1, 0);
    	while (DrvI2C_GetStatus(I2C_PORT1) != 0x28);
    	
    // 	DrvI2C_Ctrl(I2C_PORT1, 0, 1, 1, 0);						//Stop I2C
    // 	while (DrvI2C_GetStatus(I2C_PORT1) != 0xF8);
    	
    
    	DrvI2C_Ctrl(I2C_PORT1, 1, 0, 1, 0);						//Restart I2C
    	while (DrvI2C_GetStatus(I2C_PORT1) != 0x10);
    	
    	DrvI2C_WriteData(I2C_PORT1, 0xE1);						//Slave Address + 1 = Read Command
    	DrvI2C_Ctrl(I2C_PORT1, 0, 0, 1, 0);
    	while (DrvI2C_GetStatus(I2C_PORT1) != 0x40);
    	
    	uiMSB = (DrvI2C_ReadData(I2C_PORT1));						//Read MSB
    	DrvI2C_Ctrl(I2C_PORT1, 0, 0, 1, 1);						//Clear Int Flag and ACK
    	while (DrvI2C_GetStatus(I2C_PORT1) != 0x50);
    	
    	uiLSB = DrvI2C_ReadData(I2C_PORT1);						//Read LSB
    	DrvI2C_Ctrl(I2C_PORT1, 0, 0, 1, 0);						//Clear Int Flag and NACK
    	while (DrvI2C_GetStatus(I2C_PORT1) != 0x58);
    
    	DrvI2C_Ctrl(I2C_PORT1, 0, 1, 1, 0);						//Stop I2C and Clear Int Flag
    Ich kann nur Entfernungen bis exakt 255, also 0xFF messen, danach springt er auf 0 zurück

  2. #2
    Problem gelöst, nun funktioniert es.

Ähnliche Themen

  1. Software Reset Cortex M3
    Von Siro im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 8
    Letzter Beitrag: 30.01.2011, 23:06
  2. ARM Cortex M3 KettenRoboter
    Von Pajonilaus im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 2
    Letzter Beitrag: 30.06.2010, 19:59
  3. Cortex M3 Programcounter Adressen
    Von Siro im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 2
    Letzter Beitrag: 11.06.2010, 16:39
  4. Cortex M3 Ramfunction
    Von Siro im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 2
    Letzter Beitrag: 27.04.2010, 09:34
  5. Sensor Frage egal ob SRF02, SRF05 oder SRF10
    Von patti16 im Forum Sensoren / Sensorik
    Antworten: 5
    Letzter Beitrag: 14.02.2007, 22:25

Berechtigungen

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