標(biāo)題: 如何用AT24c02存儲(chǔ)0~99999這個(gè)數(shù),特別是大于65536 如何拆分合并? [打印本頁(yè)]

作者: zhx20121    時(shí)間: 2021-12-28 20:14
標(biāo)題: 如何用AT24c02存儲(chǔ)0~99999這個(gè)數(shù),特別是大于65536 如何拆分合并?
我知道是分高低字節(jié)存,但比如存99999這個(gè),如何拆分合并,剛?cè)腴T(mén),不太會(huì)處理

作者: Hephaestus    時(shí)間: 2021-12-28 21:42
既然你能存儲(chǔ)65536,就一定知道如何拆分兩個(gè)字節(jié)到24C02里面,那么擴(kuò)展拆分4字節(jié)更是水到渠成的事情,這個(gè)問(wèn)題我都想不明白。
作者: lkc8210    時(shí)間: 2021-12-28 21:57
共用體了解一下

typedef union{
   char Dat_c[4];//[0]=0x12,[1]=0x34,[2]=0x56,[3]=0x78
   int Dat_i[2];//[0]=0x1234, [1]=0x5678;
   long Dat_l;//=0x12345678
   float Dat_f;
}EData;

//Using example
EData Save_Data;
作者: wulin    時(shí)間: 2021-12-28 21:58
unsigned long a;
unsigned char b,c,d;

        a=99999;
//拆分
        b=a>>16;//取高8位
        c=a>>8;//取中8位
        d=a;//取低8位
//合并
        a=((unsigned long)b<<16)|((unsigned int)c<<8)|d;
作者: 風(fēng)之痕于夢(mèng)想    時(shí)間: 2021-12-29 15:35
建議采用取余的方式把每一位取出來(lái)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1