找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請幫忙看下,C語言共同體哪里有誤

[復(fù)制鏈接]
ID:362432 發(fā)表于 2018-7-8 10:03 | 顯示全部樓層 |閱讀模式
50黑幣
union
{ float f;
  char c[4];                                                  /共同體

}bl;


void eeprom_coefficient()
{        (float)coeffic=bl.f;  //     將變量coeffic賦值給共同體F
        eeprom_send(5 ,bl.c[0] );                  //寫入EEPROM
        eeprom_send(6, bl.c[1] );
        eeprom_send(7 ,bl.c[2] ) ;
        eeprom_send(8 ,bl.c[3] );        
}
void eeprom_out_coefficient()
{
  bl.c[0]=eeprom_Receive(5);
  bl.c[1]=eeprom_Receive(6);                         //將保存的值賦num
  bl.c[2]=eeprom_Receive(7);
  bl.c[3]=eeprom_Receive(8);
  (float)num=bl.f;

}
我的目的是將float變量coeffic存入到eeprom里,后期讀出來,給另一個變量unm,現(xiàn)在問題是出在這部分,并沒有實(shí)現(xiàn)預(yù)想的那樣,現(xiàn)在num跟開始時coeffic的值并不一樣,請幫忙給看下是哪里寫的不對嗎??謝謝。

最佳答案

查看完整內(nèi)容

void eeprom_coefficient() { bl.f =(float)coeffic; // 將變量coeffic賦值給共同體F //這里出問題 eeprom_send(5 ,bl.c[0] ); //寫入EEPROM eeprom_send(6, bl.c[1] ); eeprom_send(7 ,bl.c[2] ) ; eeprom_send(8 ,bl.c[3] ); }
回復(fù)

使用道具 舉報

ID:155507 發(fā)表于 2018-7-8 10:03 | 顯示全部樓層
void eeprom_coefficient()
{       bl.f =(float)coeffic;  //     將變量coeffic賦值給共同體F //這里出問題
        eeprom_send(5 ,bl.c[0] );                  //寫入EEPROM
        eeprom_send(6, bl.c[1] );
        eeprom_send(7 ,bl.c[2] ) ;
        eeprom_send(8 ,bl.c[3] );        
}

評分

參與人數(shù) 2黑幣 +85 收起 理由
admin + 80 回帖助人的獎勵!
不再記起 + 5 很給力!

查看全部評分

回復(fù)

使用道具 舉報

ID:367225 發(fā)表于 2018-7-8 11:18 | 顯示全部樓層
從你貼出來的這部分代碼沒看出什么問題,你首先要確認(rèn)下你的eeprom單字節(jié)讀寫是否正常?做的測試“現(xiàn)在num跟開始時coeffic的值并不一樣”,不一樣在哪里?寫入的是多少?讀出來的又是多少?問題描述的更清楚,有利于他們幫你分析。

評分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:94031 發(fā)表于 2018-7-8 14:46 | 顯示全部樓層
要把有關(guān)程序放全了才好給你出主意。
回復(fù)

使用道具 舉報

ID:362432 發(fā)表于 2018-7-8 15:14 | 顯示全部樓層
STM32F103ZET6 發(fā)表于 2018-7-8 11:18
從你貼出來的這部分代碼沒看出什么問題,你首先要確認(rèn)下你的eeprom單字節(jié)讀寫是否正常?做的測試“現(xiàn)在num ...

感謝回復(fù),是這樣的coeffic的值是要乘以另外一個數(shù)值,如果注釋掉這部分EEPROM的代碼的話,直接用變量coeffic運(yùn)算出來的結(jié)果是正確的。 現(xiàn)在是經(jīng)過EEPROM存過以后 ,讀出來運(yùn)算 得出的值都為0了 。。

評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:362432 發(fā)表于 2018-7-8 18:00 | 顯示全部樓層
angmall 發(fā)表于 2018-7-8 10:03
void eeprom_coefficient()
{       bl.f =(float)coeffic;  //     將變量coeffic賦值給共同體F  //這里 ...

謝謝您。實(shí)際的解決了問題。。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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