YKNCT / YKNCT_I2C_lib

Dependents:   arim_AutoMachine

Committer:
Tom0108
Date:
Tue May 07 08:59:39 2019 +0000
Revision:
16:a01acc32466d
Child:
24:4555d379fa1e
Child:
29:b3f2dfd166ac
added example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Tom0108 16:a01acc32466d 1 #include "mbed.h"
Tom0108 16:a01acc32466d 2 #include "YKNCT_I2C.h"
Tom0108 16:a01acc32466d 3
Tom0108 16:a01acc32466d 4 #define OUT_MAX 12
Tom0108 16:a01acc32466d 5 #define HIGH 1
Tom0108 16:a01acc32466d 6 #define LOW 0
Tom0108 16:a01acc32466d 7
Tom0108 16:a01acc32466d 8 Serial pc(USBTX, USBRX); // tx, rx
Tom0108 16:a01acc32466d 9 Y_I2C i2c(PB_9, PB_8);
Tom0108 16:a01acc32466d 10
Tom0108 16:a01acc32466d 11 OUT_I2C_Data_TypeDef OUT_I2C_Data[]= {
Tom0108 16:a01acc32466d 12 {15, 0, 0},
Tom0108 16:a01acc32466d 13 {15, 1, 0},
Tom0108 16:a01acc32466d 14 {15, 2, 0},
Tom0108 16:a01acc32466d 15 {15, 3, 0},
Tom0108 16:a01acc32466d 16 {15, 4, 0},
Tom0108 16:a01acc32466d 17 {15, 5, 0},
Tom0108 16:a01acc32466d 18 {15, 6, 0},
Tom0108 16:a01acc32466d 19 {15, 7, 0},
Tom0108 16:a01acc32466d 20 {14, 0, 0},
Tom0108 16:a01acc32466d 21 {14, 1, 0},
Tom0108 16:a01acc32466d 22 {14, 2, 0},
Tom0108 16:a01acc32466d 23 {14, 3, 0},
Tom0108 16:a01acc32466d 24 };
Tom0108 16:a01acc32466d 25
Tom0108 16:a01acc32466d 26 int main()
Tom0108 16:a01acc32466d 27 {
Tom0108 16:a01acc32466d 28 while(1) {
Tom0108 16:a01acc32466d 29 for(int i=0; i<OUT_MAX; i++) {
Tom0108 16:a01acc32466d 30 i2c.Out_Set(OUT_I2C_Data, i, HIGH);
Tom0108 16:a01acc32466d 31 i2c.Out(OUT_I2C_Data, OUT_MAX);
Tom0108 16:a01acc32466d 32 wait(0.1);
Tom0108 16:a01acc32466d 33 pc.printf("%d ",(OUT_I2C_Data+i) -> out_data);
Tom0108 16:a01acc32466d 34 }
Tom0108 16:a01acc32466d 35 pc.printf("\n\r");
Tom0108 16:a01acc32466d 36
Tom0108 16:a01acc32466d 37 for(int i=0; i<OUT_MAX; i++) {
Tom0108 16:a01acc32466d 38 i2c.Out_Set(OUT_I2C_Data, i, LOW);
Tom0108 16:a01acc32466d 39 i2c.Out(OUT_I2C_Data, OUT_MAX);
Tom0108 16:a01acc32466d 40 wait(0.1);
Tom0108 16:a01acc32466d 41 pc.printf("%d ",(OUT_I2C_Data+i) -> out_data);
Tom0108 16:a01acc32466d 42 }
Tom0108 16:a01acc32466d 43 pc.printf("\n\r");
Tom0108 16:a01acc32466d 44 }
Tom0108 16:a01acc32466d 45 }