TI中文支持网
TI专业的中文技术问题搜集分享网站

msp430 编程求教

我在程序中有下面一条语句,运行时有错误:long   V;     V =0.0002442*3.3*1540;  这样算出来的V值送显示程序,感觉反映比较慢?

Peter_Zheng:

浮点运算会占用较多资源,那么运算速度也会受到影响,可以考虑写一个浮点库的程序。

#define uchar unsigned char

#define uint unsigned int

#include

void FtoC(void)

{

float a ;

uchar i,*px;

uchar x[4]; /*定义字元阵列,准备存储浮点数的四个位元组 */

void *pf;

px=x; /* px指标指向阵列x */

pf=&a ; /*void 型指标指向浮点数首地址*/

a=34.526 ;

for(i=0;i<4;i++)

{

*(px+i)=*((char*)pf+i);

/*强制void 型指针转成char型,因为*/

} /*void型指针不能运算*/

for(i=0;i<4;i++) printf("%d",x); /* */

}

main()

{

FtoC() ;

getch();

}

可以用这个程式得到 浮点数转变为 IEEE的标准存放格式

Hardy Hu:

1.将浮点数扩大10的n次方,转化为unsigned int 整数

2.使用MPY进行乘法运算,这个在有MPY的MCU中是自动开启的;

赞(0)
未经允许不得转载:TI中文支持网 » msp430 编程求教
分享到: 更多 (0)