Mbed OS 文档翻译 之 参考(API(驱动(I2CSlave)))

I2CSlave

使用 I2C Slave 与 I2C Master 通信。

同步级别:不受保护。

I2CSlave 类参考

mbed::I2CSlave 类参考

公共类型
enum  RxStatus { NoData = 0, ReadAddressed = 1, WriteGeneral = 2, WriteAddressed = 3 }
公共成员函数
 I2CSlave (PinName sda, PinName scl)
void frequency (int hz)
int receive (void)
int read (char *data, int length)
int read (void)
int write (const char *data, int length)
int write (int data)
void address (int address)
void stop (void)
受保护的属性
i2c_t _i2c

I2CSlave 示例

尝试此示例以查看 I2C 响应器的工作原理。

#include <mbed.h>

I2CSlave slave(p9, p10);

int main() {
   char buf[10];
   char msg[] = "Slave!";

   slave.address(0xA0);
   while (1) {
       int i = slave.receive();
       switch (i) {
           case I2CSlave::ReadAddressed:
               slave.write(msg, strlen(msg) + 1); // Includes null char
               break;
           case I2CSlave::WriteGeneral:
               slave.read(buf, 10);
               printf("Read G: %s\n", buf);
               break;
           case I2CSlave::WriteAddressed:
               slave.read(buf, 10);
               printf("Read A: %s\n", buf);
               break;
       }
       for(int i = 0; i < 10; i++) buf[i] = 0;    // Clear buffer
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值