OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2980|回复: 3

sprintf输入浮点数问题

[复制链接]

68

主题

136

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
428
金钱
428
注册时间
2014-6-27
在线时间
8 小时
发表于 2016-7-3 17:13:41 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 woshiludinghua 于 2016-7-3 23:26 编辑


最近使用sprint函数打印小数并输出,写了下面的函数,但是没法输出小数,可以输出整数,不知为何原因,请大师指点

char num[64]= {0};

void send_string_to_uart( char* char_point)//将字符送到串口
{
     do
     {
        while((UART1_SR&CHSBIT7)==0x00);
        UART1_DR = *char_point++;
     }while(*char_point);

     while((UART1_SR&CHSBIT7)==0x00);
     UART1_DR = '\r';         
     while((UART1_SR&CHSBIT7)==0x00);
     UART1_DR = '\n';         
}

void main(void)
{        
      External_Hign_Speed_ClockInit();//STM8外部时钟初始化
      UART1_Init();//串口初始化
      while(1)
      {
            sprintf((char*)num, "%4.2f", 3.14);//?????????这里写法不对吗
            send_string_to_uart(num);//将字符输到串口调试助手显示
      }   
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6275

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11272
金钱
11272
注册时间
2014-4-1
在线时间
1250 小时
发表于 2016-7-4 09:29:22 | 显示全部楼层

无论小数、整数,
对串口来说都是字节。


回复

使用道具 举报

68

主题

136

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
428
金钱
428
注册时间
2014-6-27
在线时间
8 小时
 楼主| 发表于 2016-7-4 13:12:01 | 显示全部楼层
xuande 发表于 2016-7-4 09:29
无论小数、整数,
对串口来说都是字节。

什么意思?你说我的函数写的不对?我测试过的
回复

使用道具 举报

557

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165051
金钱
165051
注册时间
2010-12-1
在线时间
2103 小时
发表于 2016-7-6 22:52:32 | 显示全部楼层
sprintf完成后,看看num里面的数据,正确不
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-7-1 05:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表