求救,IIC实验中问题(已解决)

2019-07-21 04:48发布

用IIC去读写EEPROM时遇到个问题:
代码来自于原子哥写的例程:
//要写入到24c02的字符串数组 const u8 TEXT_Buffer[]={"WarShipSTM32 IIC TEST"}; #define SIZE sizeof(TEXT_Buffer)
.......
AT24CXX_Write(0,(u8*)TEXT_Buffer,SIZE);
此句中为什么要加(u8*)呢?不加就编译不成功。
在用51芯片时就不需要加这个也能编译成功。这是为啥?
加这个是代表指针中的数据强制转化成8位吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
jiaozhu
2019-07-21 08:58
回复【4楼】Badu_Space:

回复【3楼】jiaozhu:
---------------------------------
你试着将AT24CXX_Write(u16 WriteAddr,u8 *pBuffer,u16 NumToWrite); 改为这样 AT24CXX_Write(u16 WriteAddr,u8* pBuffer,u16 NumToWrite);   然后在你的main里面操作的时候将(u8*)去掉再编译看下什么效果,这时估计你自己就会明白了

---------------------------------
根据你的提示,我明白了,谢谢,就是地址位数不同而做的一个转化。

一周热门 更多>