<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: HOW TO send FLOAT value through SCI and display out in hyperterminal in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173322#M11818</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi, mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;matter is I don't know how to convert a float to a ascii string. Do you have some related routines?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;the floating point number takes 4 bytes in storage and converting it byte to byte is useless(I think).&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I scratched my head about this and had no idea.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;popup&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 15 Dec 2007 14:44:02 GMT</pubDate>
    <dc:creator>popup</dc:creator>
    <dc:date>2007-12-15T14:44:02Z</dc:date>
    <item>
      <title>HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173320#M11816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;I&amp;nbsp;need&amp;nbsp;the MCU to calculate some float(or double) value then send this value to PC through SCI.&lt;/DIV&gt;&lt;DIV&gt;e.g.&amp;nbsp;&amp;nbsp; float val0=13.2592;&lt;/DIV&gt;&lt;DIV&gt;I want to SEE 13.2592 on PC in windows hyperterminal screen.&lt;/DIV&gt;&lt;DIV&gt;There are many such float values need to send to PC one bye one quickly.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The problem is I don't know how to write a program to send such float number to PC and display them as numbers not the hex like 0x3h 0x2a 0x43 0x11.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Anyone knows how to work it out please help me.&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;popup&lt;/DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;Regards,&lt;BR /&gt;popup&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Dec 2007 13:09:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173320#M11816</guid>
      <dc:creator>popup</dc:creator>
      <dc:date>2007-12-15T13:09:31Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173321#M11817</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello popup,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;To display a floating point value on hyperterminal, you will need to convert the float value to an ASCII string, and then send the string, character by character,&amp;nbsp;using the SCI module.&amp;nbsp; If you have the RAM and flash resources available, the sprintf() function is capable of providing the conversion, to the particular&amp;nbsp;output format that you require.&amp;nbsp; But its use does require a lot of resources that you may or may not have available.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Dec 2007 13:29:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173321#M11817</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2007-12-15T13:29:12Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173322#M11818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi, mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;matter is I don't know how to convert a float to a ascii string. Do you have some related routines?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;the floating point number takes 4 bytes in storage and converting it byte to byte is useless(I think).&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I scratched my head about this and had no idea.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;popup&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Dec 2007 14:44:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173322#M11818</guid>
      <dc:creator>popup</dc:creator>
      <dc:date>2007-12-15T14:44:02Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173323#M11819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hi, Mac&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I forgot to say, you are right, I don't want to use the sprintf() because it wastes lots of resource.&lt;/DIV&gt;&lt;DIV&gt;So I want to write&amp;nbsp;a tiny&amp;nbsp;sub-function routine to work this out.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;popup&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by popup on &lt;SPAN class="date_text"&gt;2007-12-15&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;07:11 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Dec 2007 14:48:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173323#M11819</guid>
      <dc:creator>popup</dc:creator>
      <dc:date>2007-12-15T14:48:41Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173324#M11820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Dear popup,&lt;BR /&gt;&lt;BR /&gt;When I come to situations like this, I usually convert in to int or long int and use divisions by powers of ten to perform the conversion.&lt;BR /&gt;&lt;BR /&gt;Your example was something like 12.3456.&lt;BR /&gt;Multiply by 10000, you get 123456.&lt;BR /&gt;dividing by 100000 div will provide 1, convert to ascii and send, mod will give you 23456,&lt;BR /&gt;dividing by 10000, div will provide you 2, convert to ascii and send, mod will give you 3456, and so on.&lt;BR /&gt;&lt;BR /&gt;I hope it helps,&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;&lt;BR /&gt;Celso&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Dec 2007 21:41:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173324#M11820</guid>
      <dc:creator>celsoken</dc:creator>
      <dc:date>2007-12-15T21:41:55Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173325#M11821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello popup,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;The suggestion by Celso is a good one - to let the compiler do some of the work for you.&amp;nbsp; Use the forum search for "BCD conversion" or "ASCII conversion" for integer conversion methods (BCD is very closely related to ASCII output).&amp;nbsp; In your case, you would probably need to convert a long int.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;If you need to minimize resources, I might question whether it actually be necessary to use floating point numbers.&amp;nbsp; In many instances it is possible to use suitably scaled, fixed point integer calculations, depending on the type of processing involved.&amp;nbsp; However, if you require to use any non-linear functions, you will probably need to stick with floating point, and the resources it requires.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Dec 2007 02:22:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173325#M11821</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2007-12-18T02:22:43Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173326#M11822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hi,Celso&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I got your point,&amp;nbsp;this method&amp;nbsp;sounds&amp;nbsp;very similiar to&amp;nbsp;sending&amp;nbsp;a number to&amp;nbsp;a 7-segment LED.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks a lot.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;popup&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by popup on &lt;SPAN class="date_text"&gt;2007-12-18&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;04:38 AM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Dec 2007 12:37:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173326#M11822</guid>
      <dc:creator>popup</dc:creator>
      <dc:date>2007-12-18T12:37:28Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173327#M11823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Try this conversion mode:&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;xtt &amp;nbsp;= (long int)(temp_val.f*1000);// convierte el dato flotante de temperatura a un intero largo&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; te[0]=(xtt/10000)+48;// en el arreglo de temperatura (char) llamado te almacenar el dato ascii&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; xtt%=10000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; te[1]=(xtt/1000)+48;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; xtt%=1000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; te[2]=(xtt/100)+48;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; xtt%=100;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; te[3]=(xtt/10)+48;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; te[4]=(xtt%10)+48;// asi mismo se puede proceder para la humedad&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;This code is very useful, and do the conversion.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 17 May 2009 11:38:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173327#M11823</guid>
      <dc:creator>hypocrisy</dc:creator>
      <dc:date>2009-05-17T11:38:36Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173328#M11824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You might also want to check out &lt;A href="http://www.freescale.com/webapp/sps/utils/SingleFaq.jsp?FAQ-27705.xml" rel="nofollow" target="_blank"&gt;FAQ-27705&lt;/A&gt;, which shows how to convert a binary value into a string using a simple C function. Its algorithm is similar to some of those shown here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;---Tom&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 May 2009 04:18:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173328#M11824</guid>
      <dc:creator>J2MEJediMaster</dc:creator>
      <dc:date>2009-05-19T04:18:24Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173329#M11825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is an implementation of float to message,the total size in bytes is: reverse 102+ itoa 108+ ftoaMsg 165 + strcpy 41. Much less than sprintf("5f)&amp;nbsp; which is around 2500byte. However, there is a fixed predetermined amount of decimal positions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;you can call the functions as such:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ftoaMsg(senderBufferPtr, "vrms=", 1234.123 ,&amp;nbsp; 2);&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;/* reverse:&amp;nbsp; reverse string s in place */&lt;BR /&gt;&amp;nbsp;void reverse(char s[])&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i, j;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char c;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0, j = strlen(s)-1; i&amp;lt;j; i++, j--) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = s[i];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s[i] = s[j];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s[j] = c;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;/*&lt;BR /&gt;itoa = 143 byte&lt;BR /&gt;reverse = 102 byte&lt;BR /&gt;&lt;BR /&gt;*/&lt;BR /&gt;&lt;BR /&gt;void itoa(long int n, char s[])&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; long int i, sign;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if ((sign = n) &amp;lt; 0)&amp;nbsp; /* record sign */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = -n;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* make n positive */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; i = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; do {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* generate digits in reverse order */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s[i++] = n % 10 + '0';&amp;nbsp;&amp;nbsp; /* get next digit */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } while ((n /= 10) &amp;gt; 0);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* delete it */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (sign &amp;lt; 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s[i++] = '-';&lt;BR /&gt;&amp;nbsp;&amp;nbsp; s[i] = '\0';&lt;BR /&gt;&amp;nbsp;&amp;nbsp; reverse(s);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void ftoaMsg(char *Buffer, char *Msg, float Number, unsigned char decimalPrecision)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;long int numf;&lt;BR /&gt;&amp;nbsp;unsigned char dp,strSize;&lt;BR /&gt;&amp;nbsp;char * ptr;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Number = Number * 100;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; numf =&amp;nbsp; (long int) Number;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; (void) strcpy(Buffer, Msg);&lt;BR /&gt;&amp;nbsp; itoa ( numf, &amp;amp;Buffer[strlen(Msg)] );&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; strSize=&amp;nbsp; strlen(Buffer)+1;&lt;BR /&gt;&amp;nbsp; ptr = &amp;amp;Buffer[strSize];&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; for (dp=0;dp&amp;lt;decimalPrecision+1; dp++)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //decimal previsions + 1 null termination;&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *ptr = *(ptr-1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr--;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; *ptr =&amp;nbsp; '.';&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;return;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jun 2010 13:08:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173329#M11825</guid>
      <dc:creator>Ashkan</dc:creator>
      <dc:date>2010-06-11T13:08:41Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173330#M11826</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Regarding single precision floating point format, wikipedia has god a really good page explaining it for anyone reading the thread wanting a decent explanation.&lt;/P&gt;&lt;P&gt;&lt;A href="http://en.wikipedia.org/wiki/Single_precision" rel="nofollow" target="_blank"&gt;http://en.wikipedia.org/wiki/Single_precision" rel="nofollow" target="_blank&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://en.wikipedia.org/wiki/Single_precision" rel="nofollow" target="_blank"&gt;http://en.wikipedia.org/wiki/Single_precision&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This same issue arose recently at work and i think i talked a colleague around to just doing it the way celsoken described.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;JD&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jun 2010 16:33:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173330#M11826</guid>
      <dc:creator>ThaManJD</dc:creator>
      <dc:date>2010-06-11T16:33:46Z</dc:date>
    </item>
    <item>
      <title>Re: HOW TO send FLOAT value through SCI and display out in hyperterminal</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173331#M11827</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;My previous implementation had some bugs in it... please use this implementation:&lt;/P&gt;&lt;P&gt;Here is how you can call the functions:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;unsigned char senderBufferPtr[100];&lt;/P&gt;&lt;P&gt;ftoaMsg(senderBufferPtr,&amp;nbsp; "thenumberis=" , 125.123123 ,&amp;nbsp; 2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void ftoaMsg(char *Buffer, char *Msg, float Number, unsigned char decimalPrecision)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long int numf;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char strSize;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char * ptr;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void) strcpy(Buffer, Msg);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSize=&amp;nbsp; strlen(Buffer);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr = &amp;amp;Buffer[strSize];&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ftoa( Number, decimalPrecision , ptr);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;const float ROUND[6]={0.49,0.05,0.005,0.0005,0.00005,0.000005};&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;void ftoa(float fnum, unsigned char decimals, unsigned char *str)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; float scale;&lt;BR /&gt;&amp;nbsp; unsigned char u1,u2;&lt;BR /&gt;&amp;nbsp; if (fnum&amp;lt;0.0)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fnum=-fnum;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *str++='-';&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; if (decimals&amp;gt;5)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; decimals=5;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; fnum += ROUND[decimals];&lt;BR /&gt;&amp;nbsp; u1=0;&lt;BR /&gt;&amp;nbsp; scale=1.0;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; while (fnum&amp;gt;=scale)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; scale *= 10.0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++u1;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; if (u1==0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *str++='0';&lt;BR /&gt;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp; while (u1--)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; scale=floor(0.5+scale/10.0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u2=(unsigned char)(fnum/scale);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *str++=u2+'0';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fnum -= scale*u2;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; if (decimals==0)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *str=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; *str++='.';&lt;BR /&gt;&amp;nbsp; while (decimals--)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fnum *= 10.0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u2=(unsigned char) fnum;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *str++ = u2+'0';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fnum -= u2;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; *str=0;&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 05:39:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/HOW-TO-send-FLOAT-value-through-SCI-and-display-out-in/m-p/173331#M11827</guid>
      <dc:creator>Ashkan</dc:creator>
      <dc:date>2010-07-10T05:39:08Z</dc:date>
    </item>
  </channel>
</rss>

