1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3477|回復: 5
收起左側

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

[復制鏈接]
ID:362432 發表于 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,現在問題是出在這部分,并沒有實現預想的那樣,現在num跟開始時coeffic的值并不一樣,請幫忙給看下是哪里寫的不對嗎??謝謝。

最佳答案

查看完整內容

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] ); }
回復

使用道具 舉報

ID:155507 發表于 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] );        
}

評分

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

查看全部評分

回復

使用道具 舉報

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

評分

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

查看全部評分

回復

使用道具 舉報

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

使用道具 舉報

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

感謝回復,是這樣的coeffic的值是要乘以另外一個數值,如果注釋掉這部分EEPROM的代碼的話,直接用變量coeffic運算出來的結果是正確的。 現在是經過EEPROM存過以后 ,讀出來運算 得出的值都為0了 。。

評分

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

查看全部評分

回復

使用道具 舉報

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

謝謝您。實際的解決了問題。。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表