szjm-slm 发表于 2022-8-25 00:48

【雅特力AT32WB415评测】3. 串口打印信息printf

<div class='showpostmsg'><p>接着上2篇评测报告:</p>

<p>(1)https://bbs.eeworld.com.cn/thread-1214040-1-1.html</p>

<p>(2)https://bbs.eeworld.com.cn/thread-1214570-1-1.html</p>

<p>继续研究:printf</p>

<h2><a name="_Toc112280362">4 </a>串口打印信息printf</h2>

<p >通过串口打印执行的信息是我进行程序调试的主要方式,因此,拿到评估板搭建完开发环境和学会固件烧录,紧接着就开始研究用printf打印程序调试信息。</p>

<p >第一步:编写main()函数</p>

<p >(1)__IO uint32_t time_cnt = 0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 定义并初始化计数器值为0</p>

<p align="left" >(2)在main()函数体内完成初始化print串口和printf打印输出信息。</p>

<p> &nbsp;第二步:编译整个工程。</p>

<p align="left" >第三步:hex文件烧录。</p>

<p align="left" >第四步:PC端打开串口助手,可以看到程序执行效果如图36所示。</p>

<p align="left" > &nbsp;图36 printf打印信息</p>

<p align="left" >&nbsp;</p>

<p >此处,我选择USB转串口的方式输出信息,也可以通过AT-LINK上的串口输出信息 &nbsp;,实际的接线如图37所示。</p>

<p > &nbsp;图37 printf接线</p>

<p >&nbsp;</p>

<p >USB转串口的RX接AT32WB415评估板的PA2引脚,为什么接PA2引脚?可以分析程序源码(查看print串口引脚的定义,如图38所示,一步一步溯源)和电路图(如图39所示)。</p>

<p > &nbsp; &nbsp;图38 print串口引脚定义</p>

<p > &nbsp; &nbsp;</p>

<p>图39 print串口引脚电路原理图</p>

<p>&nbsp;</p>

<div></div>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

Jacktang 发表于 2022-8-25 07:18

<p>楼主对AT32WB415有关的串口打印信息printf 测评的很细</p>

lugl4313820 发表于 2022-8-25 09:08

重定向函数不用修改就可以打印了吗?是不是漏了。

xiaosong06 发表于 2022-8-25 09:27

<p>多谢分享</p>

szjm-slm 发表于 2022-8-25 11:37

本帖最后由 szjm-slm 于 2022-8-25 11:40 编辑

<div class="quote">
<blockquote><font size="2"><a href="forum.php?mod=redirect&amp;goto=findpost&amp;pid=3167792&amp;ptid=1215784" target="_blank"><font color="#999999">lugl4313820 发表于 2022-8-25 09:08</font></a></font> 重定向函数不用修改就可以打印了吗?是不是漏了。</blockquote>
</div>

<p>AT32 IDE建工程的时候需要重定向的。<br />
试了一下MDK,利用官方提供的示例Demo,Demo已经重定向好了。</p>

秦天qintian0303 发表于 2022-8-25 13:51

szjm-slm 发表于 2022-8-25 11:37
lugl4313820 发表于 2022-8-25 09:08 重定向函数不用修改就可以打印了吗?是不是漏了。


AT32 IDE建 ...

<p>其实应该重点讲一下重定向的内容及位置,printf主要就是这个重定向及串口配置</p>

szjm-slm 发表于 2022-9-2 11:12

秦天qintian0303 发表于 2022-8-25 13:51
其实应该重点讲一下重定向的内容及位置,printf主要就是这个重定向及串口配置

<p>在这一篇日志中介绍了一种实现方式,供参考。</p>

<p>这种方式也摸索了半天,如果有好的实现方式,也欢迎分享。</p>

<p>【雅特力AT32WB415评测】4. AT32 IDE下printf的实现(printf重定向)</p>

<p>https://bbs.eeworld.com.cn/thread-1216799-1-1.html</p>
页: [1]
查看完整版本: 【雅特力AT32WB415评测】3. 串口打印信息printf