求教IIC一个问题,EE_TYPE>AT24C16,?

2019-08-14 07:48发布

 这两个数据可以比较吗?谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
八度空间
1楼-- · 2019-08-14 13:38
回复【6楼】归荑洵:
---------------------------------
原子哥例程里面有这么个宏定义
#define AT24C01 127
#define AT24C02 255
#define AT24C04 511
#define AT24C08 1023
#define AT24C16 2047
#define AT24C32 4095
#define AT24C64     8191
#define AT24C128 16383
#define AT24C256 32767  
//Mini STM32开发板使用的是24c02,所以定义EE_TYPE为AT24C02
#define EE_TYPE AT24C02

函数体里面有判断条件if(EE_TYPE>AT24C16)
因为在宏定义里面定义了EE_TYPE=AT24C02即EE_TYPE的数值是255,AT24C16数值则是2047
接下来你说2047大呢还是255大呢???

if(EE_TYPE>AT24C16)这句话的理解则是2047大于255的时候则执行if里面的函数,否则不执行
八度空间
2楼-- · 2019-08-14 17:24
回复【楼主位】归荑洵:
---------------------------------
具体你可以看宏定义,呵呵

这个应该是判断芯片类型,从而得到发送地址的位数
归荑洵
3楼-- · 2019-08-14 23:10
比较结果是c02>c16吗?
aleda303
4楼-- · 2019-08-15 03:29
 精彩回答 2  元偷偷看……
八度空间
5楼-- · 2019-08-15 03:32
回复【4楼】aleda303:
---------------------------------
宏定义有个选择芯片类型的,如果这个定义大于AT24C16的话就发送两个8bit地址,否则就发送一个8bit地址
归荑洵
6楼-- · 2019-08-15 06:45
回复【5楼】Badu_Space:
---------------------------------
我怎么理解比较的这句话呢?是我怎么才能理解的得了这句话呢?

一周热门 更多>