OSDN Git Service

Ticket #29228 Added the I2C Read and Write Fearutres.
[bluetank/bluetank.git] / firm / bare_metal / ssm2603.c
index d089a9c..eefb588 100644 (file)
@@ -34,6 +34,7 @@
  */
 
 #include <cdefBF592-A.h>
+#include <builtins.h>
 #include "twi.h"
 #include "ssm2603.h"
 
@@ -58,7 +59,7 @@ static const uint8_t ssm2603_initdata[] =
 
 void ssm2603_init(void)
 {
-    uint32_t i, j;
+    uint32_t i;
 
     /*
      * TWIを初期化する。
@@ -86,11 +87,8 @@ void ssm2603_init(void)
      */
     for (i = 0; i < sizeof(ssm2603_initdata); i+=2) {
         twi_master_write(TWI_DEVICE_ADDR, TWI_STOP, &ssm2603_initdata[i], 2);
-        /*
-         * STOP CONDITIONから600ns以上空ける
-         */
-        for (j = 0; j < 300; j++) {
-            asm("ssync;");
+        while (twi_master_xfer_state() != TWI_STATE_COMP) {
+            ssync();
         }
     }
 }