![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Nucleo同士でのi2C通信(受信プログラム)
Dependencies: mbed
main.cpp@1:fe1e055b834e, 2018-06-26 (annotated)
- 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?
User | Revision | Line number | New 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 | } |