找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3221|回復(fù): 3
收起左側(cè)

STC單片機(jī)寫int型的數(shù)組到EEPROM的問題請教

[復(fù)制鏈接]
ID:392135 發(fā)表于 2018-9-7 14:13 | 顯示全部樓層 |閱讀模式
  請問一下如何向EEPROM連續(xù)寫一個(gè)int型的數(shù)組呢,芯片是STC8F2K08S2,感謝感謝回答
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2018-9-7 21:02 | 顯示全部樓層
用c語言關(guān)鍵字union來解決。

union xxx
{
        char c[2];
        int i;
}y;

定義一個(gè)“共用體”xxx,y作為“共用體變量”,里面再定義一個(gè)char類型的變量數(shù)組c[2]和int類型的變量i。

根據(jù)union的定義,里面的變量占用同一個(gè)內(nèi)存地址。所以,c[2]和i的內(nèi)存地址是一樣的,說的再通俗一點(diǎn),就是c[2]的2個(gè)數(shù)實(shí)際上就是i的兩個(gè)字節(jié)。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:395196 發(fā)表于 2018-9-7 22:55 | 顯示全部樓層
void isp_disable() // 關(guān)閉 ISP  { ISP_CONTR = 0x00; //   ISP_ADDRL = 0x00;  ISP_ADDRH = 0x00;  ISP_CMD = 0x00;  ISP_TRIG = 0x00; } //------------ void read_eprom(uint address) // 讀EPROM {  uchar i_data;  ISP_CONTR = 0x83;  ISP_ADDRL = address;  address >>= 8;  ISP_ADDRH = address;  ISP_CMD = 0x01;  ISP_TRIG = 0x46;  ISP_TRIG = 0xb9;  /**/  i_data = ISP_DATA ;  isp_disable();  return(i_data); } //------------ void write_eprom(uint address,uchar write_data) {   ISP_DATA = write_data ;   ISP_CONTR = 0x83; //   ISP_ADDRL = address ;  ISP_ADDRH = address>>8;  ISP_CMD = 0x02;  ISP_TRIG = 0x46;  ISP_TRIG = 0xb9;  /**/  isp_disable(); } //------------ void clr_eprom (uint address) //扇區(qū)擦除。 {  ISP_CONTR = 0x83; //   ISP_ADDRL = address ;  ISP_ADDRH = address>>8 ;  ISP_CMD = 0x03;  ISP_TRIG = 0x46;  ISP_TRIG = 0xb9;  /**/  isp_disable(); }
回復(fù)

使用道具 舉報(bào)

ID:395251 發(fā)表于 2018-9-8 09:33 | 顯示全部樓層

用c語言關(guān)鍵字union來解決。

union xxx
{
        char c[2];
        int i;
}y;

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表