找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6381|回复: 11
收起左侧

sprintf函数是不是无法在keil中使用?

[复制链接]
ID:677393 发表于 2020-4-30 10:25 | 显示全部楼层 |阅读模式
已经添加头文件stdio.h,用sprintf(str,"%1.4f",x),把浮点数转化成str数组,显示在12864上,结果什么都没显示。我在str数组里直接装入数值,能在12864上显示。是不是由于keil编译器的问题,sprintf函数无法在keil中使用,想要在keil中使用,应该怎么做?
回复

使用道具 举报

ID:267719 发表于 2020-4-30 10:50 | 显示全部楼层
sprintf函数可以在keil中使用
包含stdio.h就行
你跟踪下str是否正确。
注意此时str是字符型。显示是字符还是数值会不会搞错了。
回复

使用道具 举报

ID:741548 发表于 2020-4-30 11:26 | 显示全部楼层
可以乘1000....足够多位,变成整数,再与&一下,取位
回复

使用道具 举报

ID:460753 发表于 2020-4-30 11:34 | 显示全部楼层
sprintf能在keil中使用,我经常用没有问题。估计是没有设定好。
回复

使用道具 举报

ID:741674 发表于 2020-4-30 14:20 | 显示全部楼层
str数组定义大一点看看
回复

使用道具 举报

ID:311846 发表于 2020-4-30 16:49 | 显示全部楼层
可以使用的,stm32需要重定义到串口输出http://www.51hei.com/bbs/dpj-183506-1.html,51的话参考这个http://www.51hei.com/bbs/dpj-161028-1.html
回复

使用道具 举报

ID:677393 发表于 2020-5-1 08:27 | 显示全部楼层
权威人物 发表于 2020-4-30 16:49
可以使用的,stm32需要重定义到串口输出http://www.51hei.com/bbs/dpj-183506-1.html,51的话参考这个http: ...

大佬,是sprintf函数不是printf函数
回复

使用道具 举报

ID:677393 发表于 2020-5-1 08:32 | 显示全部楼层
carpcarey 发表于 2020-4-30 10:50
sprintf函数可以在keil中使用
包含stdio.h就行
你跟踪下str是否正确。
  1. void main(){
  2.                 //u8 str[5]="abcde";//测试自己写的函数Displaystring8x6
  3.                 float a=2.51452;
  4.                 init();
  5.                 DelayMs(100);//延时100ms等待稳定运行
  6.    
  7.             InitLCD();//LCD初始化
  8.              ClearScreen();//调用全屏清屏
  9.           //abc_inti();
  10.           sprintf(str,"%1.4f",a);
  11.                 while(1)
  12.             {
  13.                 //        Display16x16(0,0,zhon);//测试液晶
  14.                    Displaystring8x6(4,0,str);
  15.                 }
  16. }
复制代码

这样应该没错吧,,又测试几遍,还是无法显示
回复

使用道具 举报

ID:267719 发表于 2020-5-6 14:13 | 显示全部楼层
datianmo 发表于 2020-5-1 08:32
这样应该没错吧,,又测试几遍,还是无法显示

str的定义对么?看下。
回复

使用道具 举报

ID:677393 发表于 2020-5-7 14:30 | 显示全部楼层
carpcarey 发表于 2020-5-6 14:13
str的定义对么?看下。
  1. extern u8 str[6];
复制代码
回复

使用道具 举报

ID:267719 发表于 2020-5-8 16:37 | 显示全部楼层

u8 str[]="2.5145";
直接看能否显示。
str作为字符串数组,最好多留一位给\0表示字符串结束
回复

使用道具 举报

ID:677393 发表于 2020-5-11 10:03 | 显示全部楼层
carpcarey 发表于 2020-5-8 16:37
u8 str[]="2.5145";
直接看能否显示。
str作为字符串数组,最好多留一位给\0表示字符串结束

可以显示
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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