Nucleo同士でのi2C通信(受信プログラム)

Dependencies:   mbed

Committer:
BIGBOSS04
Date:
Tue Jun 26 07:34:58 2018 +0000
Revision:
1:fe1e055b834e
Parent:
0:f6c56f4e8f3e
Nucleo????I2C??(???????) ???

Who changed what in which revision?

UserRevisionLine numberNew contents of line
BIGBOSS04 0:f6c56f4e8f3e 1 #include <mbed.h>
BIGBOSS04 0:f6c56f4e8f3e 2 DigitalOut myled(LED1);
BIGBOSS04 0:f6c56f4e8f3e 3 I2CSlave slave(D14, D15);
BIGBOSS04 1:fe1e055b834e 4 int check = 0;
BIGBOSS04 1:fe1e055b834e 5 char buf[1];
BIGBOSS04 0:f6c56f4e8f3e 6
BIGBOSS04 1:fe1e055b834e 7 i2c_rcv()
BIGBOSS04 1:fe1e055b834e 8 void i2c_rcv()
BIGBOSS04 1:fe1e055b834e 9 {
BIGBOSS04 1:fe1e055b834e 10 int check = slave.receive();
BIGBOSS04 1:fe1e055b834e 11 if(check == I2CSlave::WriteAddressed:) {
BIGBOSS04 1:fe1e055b834e 12 if(check == I2CSlave::WriteAddressed) {
BIGBOSS04 1:fe1e055b834e 13 slave.read(buf,1);
BIGBOSS04 1:fe1e055b834e 14 }
BIGBOSS04 1:fe1e055b834e 15 }
BIGBOSS04 1:fe1e055b834e 16
BIGBOSS04 1:fe1e055b834e 17 int main()
BIGBOSS04 1:fe1e055b834e 18 void check_data()
BIGBOSS04 1:fe1e055b834e 19 {
BIGBOSS04 1:fe1e055b834e 20
BIGBOSS04 1:fe1e055b834e 21 slave.address(0xA0);
BIGBOSS04 1:fe1e055b834e 22
BIGBOSS04 1:fe1e055b834e 23 i2c_rcv();
BIGBOSS04 0:f6c56f4e8f3e 24
BIGBOSS04 1:fe1e055b834e 25 if(buf[0] == 0x01) {
BIGBOSS04 1:fe1e055b834e 26 myled = 0;
BIGBOSS04 1:fe1e055b834e 27 } else {
BIGBOSS04 1:fe1e055b834e 28 myled = 1;
BIGBOSS04 1:fe1e055b834e 29 {
BIGBOSS04 1:fe1e055b834e 30 if(buf[0] == 0x01) {
BIGBOSS04 1:fe1e055b834e 31 myled = 0;
BIGBOSS04 1:fe1e055b834e 32 } else {
BIGBOSS04 1:fe1e055b834e 33 myled = 1;
BIGBOSS04 1:fe1e055b834e 34 }
BIGBOSS04 1:fe1e055b834e 35
BIGBOSS04 0:f6c56f4e8f3e 36 }
BIGBOSS04 1:fe1e055b834e 37 }
BIGBOSS04 1:fe1e055b834e 38
BIGBOSS04 1:fe1e055b834e 39 int main() {
BIGBOSS04 1:fe1e055b834e 40 slave.address(0xA0);
BIGBOSS04 1:fe1e055b834e 41 while (1) {
BIGBOSS04 1:fe1e055b834e 42 i2c_rcv();
BIGBOSS04 1:fe1e055b834e 43 check_data();
BIGBOSS04 1:fe1e055b834e 44 }
BIGBOSS04 1:fe1e055b834e 45 }