OpenEdv-开源电子网

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

sprintf和printf

[复制链接]

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-1-15
在线时间
3 小时
发表于 2016-8-9 07:55:50 | 显示全部楼层 |阅读模式
1金钱
看例程的时候lcd的显示使用了sprintf函数,但是找不到这个函数在什么地方,同样的也不懂printf函数。C语言里说包含stdio.h,直接用,单片机上有什么区别呢,例程的test.c里面也没找到包含stdio.h啊,求大神们指导一下,谢谢啦!
2016-08-09_074719.png

最佳答案

查看完整内容[请看2#楼]

因为是调用MDK库上的函数,不是用户定义的。 图片sprintf() 的作用就是将“LCD ID:...”的内容转为ASCII码放在 lcd_id 里面
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1576
金钱
1576
注册时间
2015-8-9
在线时间
625 小时
发表于 2016-8-9 07:55:51 | 显示全部楼层
mtht 发表于 2016-8-9 18:46
那选择跳转到sprintf函数和printf函数的时候为什么提示说没有定义啊

因为是调用MDK库上的函数,不是用户定义的。
图片sprintf() 的作用就是将“LCD ID:...”的内容转为ASCII码放在 lcd_id 里面
回复

使用道具 举报

58

主题

359

帖子

0

精华

高级会员

Rank: 4

积分
987
金钱
987
注册时间
2014-9-29
在线时间
261 小时
发表于 2016-8-9 08:45:08 | 显示全部楼层
那你学C语言怎么弄的  hello world?
直接用就是了
回复

使用道具 举报

119

主题

439

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1185
金钱
1185
注册时间
2015-9-18
在线时间
422 小时
发表于 2016-8-9 08:49:19 | 显示全部楼层
sprintf是包含在stdio.h文件的
usart.h文件中有包含stdio.h文件
电子爱好者
回复

使用道具 举报

2

主题

391

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1957
金钱
1957
注册时间
2014-8-8
在线时间
307 小时
发表于 2016-8-9 08:59:33 | 显示全部楼层
在option选项里面要选择是否全支持
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-1-15
在线时间
3 小时
 楼主| 发表于 2016-8-9 18:45:32 | 显示全部楼层
365mcu 发表于 2016-8-9 08:59
在option选项里面要选择是否全支持

是说MDK界面上点魔术棒以后出来一个option窗口,在那里面设置吗?
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-1-15
在线时间
3 小时
 楼主| 发表于 2016-8-9 18:46:41 | 显示全部楼层
liuchang 发表于 2016-8-9 08:49
sprintf是包含在stdio.h文件的
usart.h文件中有包含stdio.h文件

那选择跳转到sprintf函数和printf函数的时候为什么提示说没有定义啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-8-9 23:23:45 | 显示全部楼层
单片机用printf得先把数据输出引脚配置为串口复用功能,开启时钟等,最后才能开始比赛。
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-1-15
在线时间
3 小时
 楼主| 发表于 2016-8-10 23:12:44 | 显示全部楼层
Akatsuki_lim 发表于 2016-8-9 22:12
因为是调用MDK库上的函数,不是用户定义的。
图片sprintf() 的作用就是将“LCD ID:...”的内容转为ASCII ...

哦哦,谢谢啊,那怎样才能看到sprintf函数呢,指导一下好不好,谢谢了
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2015-1-15
在线时间
3 小时
 楼主| 发表于 2016-8-10 23:17:19 | 显示全部楼层
正点原子 发表于 2016-8-9 23:23
单片机用printf得先把数据输出引脚配置为串口复用功能,开启时钟等,最后才能开始比赛。

谢谢原子哥,但是我还是不明白,串口是用发送接收寄存器,lcd显示是用了FSMC,printf函数用于串口和用于LCD是一样的吗,有什么区别没,
回复

使用道具 举报

2

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2016-1-15
在线时间
72 小时
发表于 2016-8-11 10:48:58 | 显示全部楼层
在stdio.h中有sprintf函数的定义,如图:
sprintf.jpg
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 04:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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