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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2975|回復: 14
打印 上一主題 下一主題
收起左側

單片機C語言中long型數據要怎么寫入AT24C02

  [復制鏈接]
跳轉到指定樓層
樓主
ID:289218 發表于 2022-3-23 20:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1、這是數據類型的定義:unsigned long NewData;
2、AT24C02每次只寫一個字節,如何寫入long型的數據呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:161164 發表于 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;

復制代碼
回復

使用道具 舉報

板凳
ID:879348 發表于 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];               
回復

使用道具 舉報

地板
ID:752974 發表于 2022-3-24 08:39 | 只看該作者
變量類型轉換,把要寫入的數據變換成字節類型的再寫。
回復

使用道具 舉報

5#
ID:121859 發表于 2022-3-24 08:52 | 只看該作者
連續寫入4個字節也就是長整數的低、次低,次高,高字節。
回復

使用道具 舉報

6#
ID:289218 發表于 2022-3-24 11:00 | 只看該作者
zhxiufan 發表于 2022-3-24 08:52
連續寫入4個字節也就是長整數的低、次低,次高,高字節。

感謝指導~
回復

使用道具 舉報

7#
ID:289218 發表于 2022-3-24 11:00 | 只看該作者
回復

使用道具 舉報

8#
ID:289218 發表于 2022-3-24 11:01 | 只看該作者
wufa1986 發表于 2022-3-24 08:27
unsigned char e[4];
unsigned long test;
unsigned char *d;       

感謝指導~
回復

使用道具 舉報

9#
ID:289218 發表于 2022-3-24 11:01 | 只看該作者
zhxiufan 發表于 2022-3-24 08:52
連續寫入4個字節也就是長整數的低、次低,次高,高字節。

感謝指導~
回復

使用道具 舉報

10#
ID:289218 發表于 2022-3-26 19:44 | 只看該作者

感謝分享,用分字節已能正常讀寫操作,謝謝~
回復

使用道具 舉報

11#
ID:1064915 發表于 2023-8-31 10:01 | 只看該作者
回復

使用道具 舉報

12#
ID:221871 發表于 2023-8-31 11:32 | 只看該作者
分4個字節進行即可
回復

使用道具 舉報

13#
ID:1092337 發表于 2023-8-31 11:51 | 只看該作者
好方法真多
回復

使用道具 舉報

14#
ID:1040201 發表于 2023-9-1 22:36 | 只看該作者
上面大佬的聯合體真好,共用一個地址
回復

使用道具 舉報

15#
ID:883242 發表于 2023-9-2 12:42 | 只看該作者
最簡潔的寫法是強制指針類型轉換,這要水平不錯才能寫。

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

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲永久字幕 | 久久久久国产精品 | 国产清纯白嫩初高生在线播放视频 | 精品国产不卡一区二区三区 | 亚洲狠狠爱 | 蜜桃av鲁一鲁一鲁一鲁 | 成人免费视频 | 在线播放亚洲 | 欧美a级成人淫片免费看 | 中文字幕在线看第二 | 看a网站| 国产精品久久久久久久岛一牛影视 | 婷婷亚洲综合 | 亚洲午夜av久久乱码 | 一级黄色录像毛片 | 狠狠热视频 | 久久久久久国产一区二区三区 | 国产免费人成xvideos视频 | 人人精品| 成人国产免费观看 | 亚洲 精品 综合 精品 自拍 | 久久久久久久一区二区 | 日日夜夜影院 | 婷婷精品 | 国产成人自拍一区 | 国产69精品久久久久777 | 欧美日韩国产一区二区三区 | 色综合久久久久 | h视频在线免费 | 国产精品永久 | 日本三级全黄三级三级三级口周 | 四虎永久在线精品免费一区二 | 国产精品视频一二三 | 在线成人www免费观看视频 | 亚洲一区视频在线 | 国产69精品久久99不卡免费版 | 九九热re | 99亚洲 | 成人在线视频一区 | 亚洲精品一区二区三区蜜桃久 | 国产目拍亚洲精品99久久精品 |