运河建设管理有限公司网站,网站建设的目标客户,网站怎么做,怎样在一个虚拟服务器里做两个网站一、理论上了解I2C时序
I2C写数据时序如图#xff1a; 通过解析器解析I2C通信如上图#xff08;SCL和SDA反了#xff09;。
1---起始信号 2、3---应答信号ACK 5---停止信号
起始信号#xff1a;SCL线是高电平时#xff0c;SDA线从高电平向低电平切换。
停…一、理论上了解I2C时序
I2C写数据时序如图 通过解析器解析I2C通信如上图SCL和SDA反了。
1---起始信号 2、3---应答信号ACK 5---停止信号
起始信号SCL线是高电平时SDA线从高电平向低电平切换。
停止信号SCL线是高电平时SDA线从低电平向高电平切换。
I2C通信的过程
起始---写NFC芯片的地址NFC芯片确认地址给MCU响应---MUC发送想要写入的寄存器地址NFC芯片收到给响应---给地址写入数据写入完成给响应---结束
注意写NFC芯片的地址一般NFC芯片为七位比如1010111第八位是读写操作位。
1代表读0代表写。
例如0xA0是想对应芯片地址写数据。
遇到的问题
写NFC地址的时候没有收到对应响应。
查找数据手册后发现有的芯片需要把CSN引脚拉低拉低后解决问题。 二、实战
有一款NFC芯片FM11NT081D它是通过I2C写入或读取里面数据的。
1、细看数据手册
粗略浏览数据手册目录找到重点细看。
如I2C工作流程、主机向从机写入数据流程及读取数据流程还有写入数据用户区等。 2、测试读写数据
2、1写数据 看数据手册分析
芯片地址是1010111七位地址
流程应该是
start---写NFC芯片的地址最后一位是0写数据---MUC发送想要写入的寄存器地址1---MUC发送想要写入的寄存器地址2(注意高字节在前低字节在后) ---写入数据---stop
对应写入代码测试效果。 从下图看到数据写入成功。
遇到的问题
我在写完两个寄存器地址后告诉芯片现在开始写数据这一步多余的因为人家数据手册上告诉你写入两个寄存器地址就可以写数据了加入了这个代码时序上有回应但是芯片读数据是没有写入信息。 2、2读数据 读数据就比较有意思了。
数据手册这样写流程应该是
start---写NFC芯片的地址最后一位是1读数据---MUC发送想要写入的寄存器地址1 ---读数据---stop
但是按照这个流程测试读不到数据。
查看数据手册字节数超过256经询问要写入寄存器地址两个在读取。 然后修改了一下读数据流程
start---写NFC芯片的地址最后一位是0写数据---MUC发送想要写入的寄存器地址1---MUC发送想要写入的寄存器地址2(注意高字节在前低字节在后) ---告诉芯片开始读数据 ---读数据---stop
以上流程可以读到数据。虽然不太懂MCU终于可以读到数据了开心~。