title: Store float value in uint32_t pointer
body: <p>I want to store some float data in the FRAM register of my TI MSP430 microcontroller and have some prolems.</p>
  
  <p>I don't know how I can do this.</p>
  
  <p>With normal integer variables it is no problem.</p>
  
  <p><strong>Normal integer variables:</strong></p>
  
  <pre><code>void main()
  {
      uint32_t value = 25;
      uint32_t framPtr = 0xD000;
  
      FRAMC_write_uint32_t(value, (uint32_t*)framPtr);
  }
  
  void FRAMC_write_uint32_t(uint32_t value,
                            uint32_t *framPtr)
  {
      *framPtr = value;
  }
  </code></pre>
  
  <p>But with float values it doesn't work. I tried to change the value inside the function to float, but no result.</p>
  
  <p><strong>This is my float data:</strong></p>
  
  <pre><code>    float value = 1.25;
      uint32_t framPtr = 0xD000;
  </code></pre>
  
  <p><strong>With this function it doesn't work:</strong></p>
  
  <pre><code>void FRAM_write_float(float value,
                        uint32_t *framPtr)
  {
      *framPtr++ = (float)value;
  }
  </code></pre>
  
  <p>It saved the data <em>1.40129846e-45 (DEN) (HEX: 0x00000001)</em> in my memory bank.</p>
  
  <p>I hope somebody can help me with my problem.
  <strong>Thanks!</strong></p>