eeprom_write_byteが動作している間、eeprom_update_byteは使用できません

私のinoファイルに avr/eeprom.h を含めています

if I use eeprom_write_byte(&OLD_A, OLD_ALARM_FALSE); the code complies well but if there is any instance of eeprom_update_* like eeprom_update_byte(&OLD_A, OLD_ALARM_FALSE); the compiler gives the following error

libc.a(isspace.o)*:In function `isspace 
(.text.avr-libc+0x2)*:relocation truncated to fit: R_AVR_13_PCREL against symbol __ctype_isfalse' 
defined in .text.avr-libc section in..\avr\lib\avr5\libc.a(cty_isfalse.o)
collect2.exe*:error: ld returned 1 exit status
Error creating .elf

なぜこのようなことが起きるのか、それをどう解決するのかは分かりません

0
@dmSherazi問題を示す最小限のスケッチを作成する価値があります。このようにして、残りのプログラムにとってエラーではないことを確認することもできます。
追加された 著者 dotnetengineer,
コードはかなり大きいです。問題は、書き込みから更新に変更するだけで上記のエラーが発生することです
追加された 著者 ttnphns,
@NickGammon申し訳ありません。私はatmelスタジオでvisual microを使用しています。arduinoのバージョンは1.6で、ボードはmicroduino core plusです。他の人は私が最小限のスケッチで試してみると、それはうまく動作することを提案した。
追加された 著者 ttnphns,
@マジェンコ私は最小限のスケッチで試して、それは正常に動作します。
追加された 著者 ttnphns,
あなたが提案したように@Paul私は最小限のスケッチで試したとうまく動作します。
追加された 著者 ttnphns,
@allコンパイラの設定に問題がありました。別のコンパイラに切り替えて正常に動作します。
追加された 著者 ttnphns,
コードはかなり大きいです。 - あなたの問題です。私は、eepromを更新するコードがそれを書くよりも大きいと想像しています。
追加された 著者 Majenko,
あなたが示した最小限のコードでこれを再現するのは難しいです。 最小限で完全で検証可能な例を投稿してください。また、あなたが持っているArduinoと使用しているIDEのバージョンを述べてください。 どのように良い質問をしますか?をご覧ください。
追加された 著者 Nick Gammon,
EEPROMの書き換えと比較してEEPROMの更新が問題を引き起こすことを示す小さなプログラムを作成してください。
追加された 著者 Nick Gammon,
問題は、書き込みから更新に変更するだけで、上記のエラーが発生することです。あなたが持っているArduinoとIDEについての私のリクエストを無視しました。あなたは助けを求めていますが、私たちがあなたを助けるのを助けようとしていません。
追加された 著者 Nick Gammon,

答えはありません

0