st25dv04k 与 i.mx6 接口。我们在 i.mx6 上安装内核版本 4.9.88-10182-gec7d7d8-dirty。我用 c 写了下面的代码。
#include
#include
#include
#include
#include <时间.h>
#include tinet/in.h>
#include
#define地址 0x53
诠释主要(){
诠释;
无符号字符缓冲区[3];
无符号字符缓冲区 1[2];
if ((fd = open("/dev/i2c-2", O_RDWR)) < 0) { printf("无法打开设备!%dn", fd); 返回 1;}
如果 (ioctl(fd, I2C_SLAVE, 地址) < 0)
{
printf("在地址上找不到设备!n"); 返回 1;
}
缓冲区[0] = 0x00;
缓冲区[1] = 0x00;
缓冲区[2] = 0x65;
如果(写(fd,缓冲区,3)!= 3)
{
printf("错误处理:i2c 事务失败n");
}
别的
printf("i2c 写入成功n");
睡眠(5000);
缓冲区 1[0] = 0x00;
缓冲区 1[1] = 0x00;
//缓冲区1[2] = 0x65;
如果(读取(fd,缓冲区 1,2)!= 2)
{
printf("无法从 i2c 总线读取。nn");
}
别的 {
printf("读取成功n");
printf("值: %02xnn", buffer1[0]);
printf("值: %02xnn", buffer1[1]);
}
关闭(fd);
返回 0;
}
//////////////////////
q] 在上面的代码中写什么来从 2 字节的寄存器地址读取值?
q] 这是正确的读写方法吗?如果不是那么我需要在上面的代码中做些什么才能写入用户区域?
q] 我需要在上面的代码中写什么 ndef 序列字节来发送“文本数据”?
q] 我的主要目的是在 NFC 标签 ic st25dv04k 中写入数据。那个ic是作为奴隶工作的。我们的主人是第二个 i.mx6 板。当标签连接到从 ic 时。当主人靠近这个标签时,我需要将书面文本数据发送给主人。那么在上面的代码中应该怎么做呢?