打印

STM32初识,USART\printf例程工作不正常问题请教

[复制链接]
5857|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
刚接触STM32F103,GPIO例子已正常运行了,但是USART\printf例子不能正常运行,在板子上没有任何反应。就连运行开始时的那段字符都没有输出来,找了半天,也没有找出原因,不知道自己在被圈在什么地方了,特跑来请教。可下载的ZIP文件就是我编译通过但不能运行的工程文件,那位同仁有空帮试试。
Printf.zip (42.6 KB)
我用的是keil4进行编译的,例子用的是3.0固件中的例子,所以在工程中重新设置一下链接库文件的路径,应该就没有编译上的问题。
沙发
bruceleeIKA| | 2010-9-23 19:33 | 只看该作者
请看截图,在Target Option中的Target选项中,将Use microLIB勾上

printfQ.JPG (52.12 KB )

printfQ.JPG

使用特权

评论回复
板凳
re张风|  楼主 | 2010-9-23 19:55 | 只看该作者
加上就可以了。这是什么作用的呢?在说明里没有说明,我弄了一天,还不如你这一提示。能不能再详说一下这是为什么呢?谢谢!

使用特权

评论回复
地板
bruceleeIKA| | 2010-9-23 20:07 | 只看该作者
microlib提供一个有限的stdio子系统,它仅支持未缓冲的stdin,stdout和stderr.这样即可使用printf()来显示应用程序中的诊断消息。
其实,完全可以自己写串口发送函数,不用printf,这样也无需添加这个了。

使用特权

评论回复
5
re张风|  楼主 | 2010-9-23 20:08 | 只看该作者
另外,我重新定义了IROM1的起始地址为0x8002000,通过软件仿真发现,编译出来的代码,竟然从0x0地址开始的。这是怎么回事呢?再次谢谢过!!!:D

使用特权

评论回复
6
清风过山岗| | 2010-9-28 12:53 | 只看该作者
printf函数很大很费时,效率很低;第一次看到大家在嵌入式系统中使用这个函数;我要是老板就炒了你;

使用特权

评论回复
7
re张风|  楼主 | 2010-9-28 14:07 | 只看该作者
我觉得并不是使用printf浪费时间而不用。用这种方式,简单,通用易移植,当然也可以自己封装一个适合自己要求的收发函数出来,这一点应该都会做。我现在的问题是连编译系统都没有搞清楚,所以就只有先浪费自己,以后再说优化自己的代码的事情。呵呵
还有,说一句。我是自己掏钱、自已买元器件、自己焊板子,再大的老板也炒不了我,呵呵。我还有一个编译地址的问题,帮我解决一下。谢谢:lol

使用特权

评论回复
8
mohanwei| | 2010-9-28 14:12 | 只看该作者
printf效率极高,应该说没有几个人能自己编一个函数超过它(当然前提是同等重量级的,支持char,int,float等多种格式变量的打印)……
如果要缓冲,自己在工程里放一个putchar()函数接管底层输出即可

使用特权

评论回复
9
清风过山岗| | 2010-9-28 15:29 | 只看该作者
你把新的固件库文件CPOY到项目目录应该是可以的;

使用特权

评论回复
10
le062| | 2011-4-6 16:11 | 只看该作者
多谢。 2# bruceleeIKA

使用特权

评论回复
11
zhanxiage110| | 2012-4-9 22:58 | 只看该作者
不错 学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:走,向前走,再走,继续走! http://www.uectr.com

51

主题

525

帖子

1

粉丝