/*
** 发送一个字符
*/
void UART0Putch(uint8 dat)
{
U0THR = dat;
while((U0LSR&0x40) == 0);
}
/*
** 发送一个字符串
*/
void UART0_SendStr(char *str)
{
while(1)
{
if(*str == '\0')
{
break;
}
UART0Putch(*str++);
}
}
/*
** 发送一个浮点数
*/
void UART0_SendFloat(fp32 fData)
{
char *str;
sprintf(str, "%08.2f", fData); //将浮点数转换成字符串格式并赋给str
UART0_SendStr(str);
}
代码如上所示,发送字符和字符串的函数都可以正常使用,但是一调用UART0_SendFloat(fData),系统就会崩溃,请问是什么原因?
|