|
|
自己用的,直接写入或读取unsigned long型数据.
第一个参数传递变量的指针地址,第二个参数是读写的开始地址
char应该是占用一个字节的空间也就是就大是255
但实际用的时候不加(byte)转成字节型数据操作完成后发现在数据不正确.
转成unsigned int用println输出发现数据大于255.达到了两个字节.想请教各位这是怎么回事.
- //写入无符号长整型数据
- void WriteUL(unsigned long *date,int add){
- char buffer[4];
- buffer[3]=*date&0x000000FF;
- buffer[2]=(*date&0x0000FF00)>>8;
- buffer[1]=(*date&0x00FF0000)>>16;
- buffer[0]=(*date&0xFF000000)>>24;
- AT24C32.WriteMem(add,buffer,4);
- }
- //读出无符号长整型数据
- void ReadUL(unsigned long *date,int add){
- char buffer[4];//缓冲数组
- AT24C32.ReadMem(0, buffer, 4); //读出数据到缓冲数组
- *date=(byte)buffer[0];
- *date=*date<<8;
- *date|=(byte)buffer[1];
- *date=*date<<8;
- *date|=(byte)buffer[2];
- *date=*date<<8;
- *date|=(byte)buffer[3];
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|