久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機C語言中long型數據要怎么寫入AT24C02 [打印本頁]

作者: wlhuang    時間: 2022-3-23 20:39
標題: 單片機C語言中long型數據要怎么寫入AT24C02
1、這是數據類型的定義:unsigned long NewData;
2、AT24C02每次只寫一個字節,如何寫入long型的數據呢?
作者: lkc8210    時間: 2022-3-24 00:20
  1. 1. 分字節寫,分字節謮
  2. ulong Temp = 0xA5B6C7D8;
  3. //write**************
  4. IapProgramByte(0x0200, (uchar)(Temp >>24));
  5. IapProgramByte(0x0201, (uchar)(Temp >>16));
  6. IapProgramByte(0x0202, (uchar)(Temp >>8));
  7. IapProgramByte(0x0203, (uchar)(Temp));

  8. //Read***************
  9. Temp = 0x00;
  10. Temp |= (ulong)IapReadByte(0x0200)<<24;
  11. Temp |= (ulong)IapReadByte(0x0201)<<16;
  12. Temp |= (ulong)IapReadByte(0x0202)<<8;
  13. Temp |= (ulong)IapReadByte(0x0203);

  14. 2. 用聯合體
  15. typedef union{
  16. uchar u8_dat[4];
  17. ulong u32_Dat;
  18. }union32;
  19. union32 union_Dat;
  20. ulong Temp = 0xA5B6C7D8;
  21. //write**************
  22. union_Dat.u32_Dat = Temp;
  23. IapProgramByte(0x0200, union_Dat.u8_dat[0]);
  24. IapProgramByte(0x0201, union_Dat.u8_dat[1]);
  25. IapProgramByte(0x0202, union_Dat.u8_dat[2]);
  26. IapProgramByte(0x0203, union_Dat.u8_dat[3]);

  27. //Read***************
  28. union_Dat.u8_dat[0] = IapReadByte(0x0200);
  29. union_Dat.u8_dat[1] = IapReadByte(0x0201);
  30. union_Dat.u8_dat[2] = IapReadByte(0x0202);
  31. union_Dat.u8_dat[3] = IapReadByte(0x0203);
  32. Temp = union_Dat.u32_Dat;

復制代碼

作者: wufa1986    時間: 2022-3-24 08:27

unsigned char e[4];
unsigned long test;
unsigned char *d;       
test=0x11223344;       
d=(unsigned char*)&test;
  e[0]=d[0];       
  e[1]=d[1];
  e[2]=d[2];       
  e[3]=d[3];               
作者: munuc_w    時間: 2022-3-24 08:39
變量類型轉換,把要寫入的數據變換成字節類型的再寫。
作者: zhxiufan    時間: 2022-3-24 08:52
連續寫入4個字節也就是長整數的低、次低,次高,高字節。
作者: wlhuang    時間: 2022-3-24 11:00
zhxiufan 發表于 2022-3-24 08:52
連續寫入4個字節也就是長整數的低、次低,次高,高字節。

感謝指導~
作者: wlhuang    時間: 2022-3-24 11:00
lkc8210 發表于 2022-3-24 00:20

感謝指導~
作者: wlhuang    時間: 2022-3-24 11:01
wufa1986 發表于 2022-3-24 08:27
unsigned char e[4];
unsigned long test;
unsigned char *d;       

感謝指導~
作者: wlhuang    時間: 2022-3-24 11:01
zhxiufan 發表于 2022-3-24 08:52
連續寫入4個字節也就是長整數的低、次低,次高,高字節。

感謝指導~
作者: wlhuang    時間: 2022-3-26 19:44
lkc8210 發表于 2022-3-24 00:20

感謝分享,用分字節已能正常讀寫操作,謝謝~
作者: joyb    時間: 2023-8-31 10:01
lkc8210 發表于 2022-3-24 00:20

好方法真多
作者: lzd918    時間: 2023-8-31 11:32
分4個字節進行即可
作者: zzzzdddd11    時間: 2023-8-31 11:51
好方法真多

作者: liucan2020    時間: 2023-9-1 22:36
上面大佬的聯合體真好,共用一個地址
作者: Hephaestus    時間: 2023-9-2 12:42
最簡潔的寫法是強制指針類型轉換,這要水平不錯才能寫。

笨一點的寫法是用union,這種寫法是人類看起來啰嗦,但實際上執行起來的匯編碼也很簡潔,跟上一種辦法幾乎沒有差異。

最笨的寫法就是沙發位的移位,不僅人類看起來啰嗦,大量無效本來可以優化的機器碼,不僅浪費ROM,也占用了大量的運行時間。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久高清| 欧美电影免费观看 | 久精品久久 | 一区二区三区欧美 | 欧美精品一区二区三区四区 | 日韩不卡三区 | 久久高清精品 | 免费能直接在线观看黄的视频 | 好姑娘影视在线观看高清 | 国产一级黄色网 | 亚洲欧美日韩精品 | 国产色片 | 99精品视频在线 | 成人国产精品色哟哟 | 亚洲国产成人一区二区 | av在线一区二区三区 | 午夜理伦三级理论三级在线观看 | 岛国av免费在线观看 | 久久网国产 | 韩日av片 | 国产精品av久久久久久毛片 | 中文字幕一区二区三区精彩视频 | 国产精品成人品 | 黄久久久 | 91精品国产91综合久久蜜臀 | 黄色一级大片在线免费看产 | 成人午夜电影在线观看 | 成人网av| 在线免费av观看 | 久久久久亚洲视频 | 亚洲成av | 国产免国产免费 | 天天综合网永久 | 精品一区二区三区在线观看国产 | 精品日韩在线 | 日批日韩在线观看 | 亚洲人a | 福利视频网站 | 国产分类视频 | 国产精品成人一区二区三区吃奶 | 免费成人国产 |