V1

Committer:
Tanakacool
Date:
Tue Dec 25 05:13:13 2018 +0000
Revision:
0:63c69398407f
k22motorcontroll

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Tanakacool 0:63c69398407f 1 #include "mbed.h"
Tanakacool 0:63c69398407f 2 I2C i2c(A1, A0);// sda, scl
Tanakacool 0:63c69398407f 3
Tanakacool 0:63c69398407f 4 const int addr8bit = 0x15 << 1;
Tanakacool 0:63c69398407f 5 //I2C i2c( D14, D15);
Tanakacool 0:63c69398407f 6 Serial pc(USBTX, USBRX);
Tanakacool 0:63c69398407f 7 DigitalOut led1(LED1);
Tanakacool 0:63c69398407f 8
Tanakacool 0:63c69398407f 9
Tanakacool 0:63c69398407f 10 int main()
Tanakacool 0:63c69398407f 11 {
Tanakacool 0:63c69398407f 12
Tanakacool 0:63c69398407f 13
Tanakacool 0:63c69398407f 14 pc.baud(9600);
Tanakacool 0:63c69398407f 15 i2c.frequency (10000);
Tanakacool 0:63c69398407f 16 int address = 0x15 << 1;
Tanakacool 0:63c69398407f 17 int encoder;
Tanakacool 0:63c69398407f 18 char speed[10] = "2000";
Tanakacool 0:63c69398407f 19 char buffer[3];
Tanakacool 0:63c69398407f 20 char enc[6];
Tanakacool 0:63c69398407f 21 printf("send\n");
Tanakacool 0:63c69398407f 22 int motorOutPut=2000;
Tanakacool 0:63c69398407f 23 motorOutPut=atoi(speed);
Tanakacool 0:63c69398407f 24
Tanakacool 0:63c69398407f 25 buffer[0]=0x00;
Tanakacool 0:63c69398407f 26 buffer[1]= motorOutPut>>8;
Tanakacool 0:63c69398407f 27 buffer[2]=motorOutPut;
Tanakacool 0:63c69398407f 28 i2c.write(address,buffer,3);
Tanakacool 0:63c69398407f 29 i2c.stop();
Tanakacool 0:63c69398407f 30 // i2c.read(address,enc,6);
Tanakacool 0:63c69398407f 31
Tanakacool 0:63c69398407f 32
Tanakacool 0:63c69398407f 33 while (1) {
Tanakacool 0:63c69398407f 34 //atoi
Tanakacool 0:63c69398407f 35 /* if (pc.readable()) {
Tanakacool 0:63c69398407f 36 pc.gets(speed, sizeof(speed));
Tanakacool 0:63c69398407f 37 pc.printf("out : %s",speed);
Tanakacool 0:63c69398407f 38
Tanakacool 0:63c69398407f 39 motorOutPut=atoi(speed);
Tanakacool 0:63c69398407f 40
Tanakacool 0:63c69398407f 41 buffer[0]=0x00;
Tanakacool 0:63c69398407f 42 buffer[1]= motorOutPut>>8;
Tanakacool 0:63c69398407f 43 buffer[2]=motorOutPut;
Tanakacool 0:63c69398407f 44 i2c.write(address,buffer,3);
Tanakacool 0:63c69398407f 45 // i2c.write(addr8bit,buffer,3);
Tanakacool 0:63c69398407f 46 //i2c.stop();
Tanakacool 0:63c69398407f 47 led1 = !led1;
Tanakacool 0:63c69398407f 48 }*/
Tanakacool 0:63c69398407f 49
Tanakacool 0:63c69398407f 50 i2c.read( addr8bit, enc, 6);
Tanakacool 0:63c69398407f 51 encoder=(enc[0]<<24)|(enc[1]<<16)|(enc[2]<<8)|(enc[3]);
Tanakacool 0:63c69398407f 52 // encoder=enc[0];
Tanakacool 0:63c69398407f 53 printf("%d\n", encoder);
Tanakacool 0:63c69398407f 54
Tanakacool 0:63c69398407f 55 led1 = !led1;
Tanakacool 0:63c69398407f 56
Tanakacool 0:63c69398407f 57 wait(1);
Tanakacool 0:63c69398407f 58
Tanakacool 0:63c69398407f 59 }
Tanakacool 0:63c69398407f 60 }