Hsieh JenYun
/
K22_test1
V1
Diff: main.cpp
- Revision:
- 0:63c69398407f
diff -r 000000000000 -r 63c69398407f main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Dec 25 05:13:13 2018 +0000 @@ -0,0 +1,60 @@ +#include "mbed.h" +I2C i2c(A1, A0);// sda, scl + +const int addr8bit = 0x15 << 1; +//I2C i2c( D14, D15); +Serial pc(USBTX, USBRX); +DigitalOut led1(LED1); + + +int main() +{ + + + pc.baud(9600); + i2c.frequency (10000); + int address = 0x15 << 1; + int encoder; + char speed[10] = "2000"; + char buffer[3]; + char enc[6]; + printf("send\n"); + int motorOutPut=2000; + motorOutPut=atoi(speed); + + buffer[0]=0x00; + buffer[1]= motorOutPut>>8; + buffer[2]=motorOutPut; + i2c.write(address,buffer,3); + i2c.stop(); + // i2c.read(address,enc,6); + + + while (1) { + //atoi + /* if (pc.readable()) { + pc.gets(speed, sizeof(speed)); + pc.printf("out : %s",speed); + + motorOutPut=atoi(speed); + + buffer[0]=0x00; + buffer[1]= motorOutPut>>8; + buffer[2]=motorOutPut; + i2c.write(address,buffer,3); + // i2c.write(addr8bit,buffer,3); + //i2c.stop(); + led1 = !led1; + }*/ + + i2c.read( addr8bit, enc, 6); + encoder=(enc[0]<<24)|(enc[1]<<16)|(enc[2]<<8)|(enc[3]); + // encoder=enc[0]; + printf("%d\n", encoder); + + led1 = !led1; + + wait(1); + + } +} \ No newline at end of file