{
char temp[20];
unsigned char i=0,j=0;
i=0;
while(dat)
{
temp=dat%10+0x30;
i++;
dat/=10;
}
j=i;
for(i=0;i<j;i++)
{
str=temp[j-i-1];
}
if(!i) {str[i++]=0;}
str=0;
}
/******************************************************************
- 功能描述:将一个字符串转为32位的变量,比如"1234"转为1234
- 隶属模块:公开函数模块
- 函数属性:外部,用户可调用
- 参数说明:str:指向待转换的字符串
- 返回说明:转换后的数值
******************************************************************/
unsigned long strtou32(char *str)
{
unsigned long temp=0;
unsigned long fact=1;
unsigned char len=strlen(str);
unsigned char i;
for(i=len;i>0;i--)
{
temp+=((str[i-1]-0x30)*fact);
fact*=10;
}
return temp;
}
/**************************************************************************
- 功能描述:51单片机的串口发送数值
- 隶属模块:STC51串口操作
- 函数属性:外部,使用户使用
- 参数说明:dat:要发送的数值
- 返回说明:无
- 注:函数中会将数值转为相应的字符串,发送出去。单片机串口接收程序比如 4567 转为 "4567"
**************************************************************************/
void UART_Put_Num(unsigned long dat)
{
char idatatemp[20];//temp数组确定显示数字的位数
u32tostr(dat,temp); //转换数字到字符串的
UART_Send_Str(temp);
}
/********************************************************************
* 名称 : UART_Put_Inf(char *inf,unsigned long dat)
* 功能 : 串口发送一个字符串后面接着一串数字
* 输入 : inf:指向字符串数组的指针 dat:数字不能超过20位
* 输出 : 无
***********************************************************************/
void UART_Put_Inf(char *inf,unsigned long dat)
{
UART_Send_Str(inf);
UART_Put_Num(dat);
UART_Send_Str("\r");
}
/********************************************************************
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-33992-3.html
定位准确