|
楼主 |
发表于 2011-1-13 21:44:49
|
显示全部楼层
谢谢6楼!
我按照你的思路写了程序,
因为我的电压值整数只有2位,小数只有一位
所以比较简单,具体的程序如下:
INT8U voltage_value[5]; //存放电压值
INT8U myinttoascii(INT8U data)//int--->ASCII
{
if (data<10)
return (data+'0');
else
return (data+55);
}
void myfloattoascii(INT8U *str,float data)//浮点数转字符串,只限于2位整数和1位小数
{
INT8U bai,shi,ge;
data = data*10;
bai = (INT8U)data/100;
shi = (INT8U)data/10%10;
ge = (INT8U)data%10;
str[0]=myinttoascii(bai);
str[1]=myinttoascii(shi);
str[2]='.';
str[3]=myinttoascii(ge);
}
void Task1(void)
{
float voltage_data;
voltage_data = voltagedata();//真正的电压值,float型
myfloattoascii(voltage_value,voltage_data);
for(;;)
{
Uart_Write(UART,1,str,4,100);
OSTimeDly(10000);
}
} |
|