【国民技术N32WB031_STB开发板评测】+ 从例子入手之尝试调试官方蓝牙代码(一)
<p> 今天我们来尝试调试官方的蓝牙代码。由于蓝牙代码例子众多,按照从上到下的原则,我们先来看看ble里面的blood_pressure官方代码。</p><p>由于先前调试IO的时候,出现代码如果不屏蔽RTC的初始化,后面的代码就跑不起来的情况,因此也担心蓝牙的代码会不会出现类似的情况。</p>
<p> blood_pressure的功能:</p>
<p> </p>
<p class="imagemiddle" style="text-align: center;"></p>
<p> </p>
<p>打开MDK的工程,直接进行编译。果然,担心的事情还是发生了,并没有想象中的那么顺利。</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p class="imagemiddle"> </p>
<p>缺少头文件<img height="29" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/puzzle.gif" width="32" />。我滴个乖乖。其实,这种现象也算是普遍的。有时候,当我们去参考别人代码的时候,打开也会报一堆的错误。。。<img height="31" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/funk1.gif" width="32" />。可能是电脑环境</p>
<p>的不同吧!我们找到复制缺少文件的名字,去工程里面寻找。</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p class="imagemiddle">找到后,再次编译。成功编译成功。</p>
<p class="imagemiddle"></p>
<p>".\Objects\blood_pressure.axf" - 0 Error(s), 0 Warning(s). 这是每一个程序员追求的境界。<img height="32" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/loveliness.gif" width="32" /></p>
<p> </p>
<p> 配置好下载器后,我们下载代码。按复位键,再次下载一次,然而又出现了新的情况。下载器居然找不到芯片了!<img height="29" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/puzzle.gif" width="32" /></p>
<p class="imagemiddle" style="text-align: center;"></p>
<p class="imagemiddle"> 按照,以往的经验,按下板载复位键,然后,再点击下载,又可以下载成功!!!<img height="29" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan58.gif" width="32" />具体什么原因,也许厂家才知道。我的猜测是:开启蓝牙</p>
<p class="imagemiddle">功能后,把SWD的下载功能给关了。不知道在线仿真会不会出现这种情况了?</p>
<p class="imagemiddle"> </p>
<p class="imagemiddle"> 拿出手机,打开蓝牙。进入到搜索蓝牙的界面,我们可以发现一个NS开头的蓝牙设备。</p>
<p class="imagemiddle">而且,板上只有一个LED灯点亮。</p>
<p class="imagemiddle"></p>
<p class="imagemiddle">我们用手机配置NS的蓝牙,配置成功后,另一个LED灯(这里称 配对提示LED)也亮了起来。当我们关掉手机蓝牙,过一会儿,配对提示LED也就灭了。通过LED</p>
<p class="imagemiddle">等的状态我们就很清楚的知道,有没有蓝牙设备与板子配对。</p>
<p class="imagemiddle"></p>
<p class="imagemiddle"> </p>
<p class="imagemiddle"> 由于,手机还没有找到合适的蓝牙调试助手APP,就不知道开发板没有没有在发送数据。其实,官方例子最好有收发数据指示灯。我们做的无线设备基本都会</p>
<p class="imagemiddle">有数据收发指示灯,客户通过现象来观察又无数据在发送或者接收。</p>
<p class="imagemiddle"> </p>
<p class="imagemiddle"> 下面,我们会接着调试看看其他的官方代码会怎么样。<img height="32" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/congra.gif" width="32" />,给自己一个学习的机会,通过现象看本质。看了现象,我们再去看代码,然后,再试着编写自己的代码。<img height="32" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/smile.gif" width="32" /></p>
大佬可以呀,我还没有开始弄蓝牙呀,你带了一个好头。那个下载那里,可能是真的占用了SWD,你在开机是迟时多几秒,再初始化蓝牙,让下载有时间。 <p>牛牛牛<img height="52" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/pleased.gif" width="48" /></p>
lugl4313820 发表于 2023-6-4 11:23
大佬可以呀,我还没有开始弄蓝牙呀,你带了一个好头。那个下载那里,可能是真的占用了SWD,你在开机是迟时 ...
<p>SWD下载其他的时候是好的。应该是进入蓝牙功能后,官方代码把SWD功能给屏蔽了。参考代码是个while(1)死循环。</p>
hubvbk 发表于 2023-6-4 13:49
牛牛牛
<p>只是试试官方代码,看看能不能跑起来</p>
缺文件后面找到文件把文件放到哪里了? wangerxian 发表于 2023-6-5 17:38
缺文件后面找到文件把文件放到哪里了?
<p>对,放到包含.h的文件里面就可以了</p>
页:
[1]