Keil IDE を使用して、VCP を介して浮動小数点数を受信し、STM32F4 検出ボードのフラッシュ メモリに書き込もうとしています。フラッシュメモリへの書き込みに使用される関数:
FLASH_Status FLASH_ProgramDoubleWord(uint32_t Address, uint64_t Data);
FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data);
FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data);
FLASH_Status FLASH_ProgramByte(uint32_t Address, uint8_t Data);
データ入力として符号なし整数値を受け入れますが、次のコードを使用してフラッシュ メモリに符号付き整数を書き込むことができました。
int dataflash1 = -1000;
int gain;
uint32_t Address= 0x08008000;
.......
FLASH_ProgramWord(Address,dataflash1);
.......
gain=*(int*)Address;
しかし、まだフロートデータを書き込むことができていません。「int」を「float」に変更すると (どちらも 4 バイトのデータである必要があります。keil コンパイラ ガイドに記載されています)、1.7345673 e-42 のような数値が得られます。
くだらない質問かもしれませんが、どなたか教えていただけると助かります。