[ST NUCLEO-WBA52CG] 4-使用STM32CUBEMX创建一个BLE工程
<div class='showpostmsg'><p>使用STM32WBA52CG创建BLE工程,需要使用STM32CUBEMX的中间层STM32_WPAN。 WPAN是Wireless Personal Area Network的缩写。</p><p>要使能这个中间层,需要先使能很多外设,分别是:</p>
<ul>
<li>ADC4的温度传感器通道:用于PHY的校准</li>
<li>CRC:验证BLE的数据传输</li>
<li>RAMCFG:用于动态修改RAM的配置</li>
<li>ICHACHE:用于提高从内存中存取指令的效率</li>
<li>RNG:生成随机数</li>
<li>RF:射频输出</li>
<li>RTC:用于低功耗模式里的自动唤醒<br />
如果需要输出DEBUG的信息的话,还需要使能串口:</li>
<li>USART1</li>
<li>GPDMA1</li>
</ul>
<ol>
<li>ADC4的采样时间可以设置的长一些,比如设置为814.5个周期,提高ADC采样的精度。</li>
<li>ICHACHE设置为”1-way (dircet mapped cache)”</li>
<li>激活SRAM1的RAMCFG</li>
</ol>
<p>其它的可以参考官方提供的示例设置。</p>
<p>激活了STM32_WPAN之后,就需要对BLE进行设置。</p>
<p> 1. 选择BLE的模式,比如作为服务端,这样我们就可以通过手机对开发板进行设置了</p>
<p></p>
<ol start="2">
<li>广播参数的设置,还有广播内容的设置,在”BLE Advertising”里进行设置</li>
<li>设置服务的个数<br />
</li>
<li>根据自己的要求设置服务的特性值、权限等信息<br />
</li>
<li>BLE的一些设置项</li>
<li>生成工程的设置
<ol>
<li>堆栈都要设置的大一些,堆设置为0x3000,栈大小为0x1000</li>
<li>对初始化函数进行设置,有一些不能设置为static的,因为会在其他地方调用初始化函数</li>
</ol>
</li>
</ol>
<p></p>
<p>至此就可以生成相关的工程了,可以看到需要设置的内容还是很多的,在易用性上比较差。</p>
</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> <p>我一直认为这种无线通信的芯片设计起来都是比较特别的。</p>
wangerxian 发表于 2023-8-24 16:44
我一直认为这种无线通信的芯片设计起来都是比较特别的。
<p>用起来挺复杂的<img height="28" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/face-with-tears-of-joy_1f602.png" width="28" /></p>
manhuami2007 发表于 2023-8-24 17:40
用起来挺复杂的
<p>主要蓝牙配置也比较多。</p>
有stm32cubemax搭建工程起来还是非常方便的,不知道他的监牙协议栈学习起来容易 不? lugl4313820 发表于 2023-8-25 07:25
有stm32cubemax搭建工程起来还是非常方便的,不知道他的监牙协议栈学习起来容易 不?
<p>有些复杂,涉及的文件比较多。不过和其他品牌的蓝牙协议栈差不多,都是事件驱动的,有相通的地方。:)</p><br/> manhuami2007 发表于 2023-8-25 07:59
有些复杂,涉及的文件比较多。不过和其他品牌的蓝牙协议栈差不多,都是事件驱动的,有相通的地方。
<p>楼主可以在这里深入介绍一下,现在监牙在穿戴设备非常好用。</p>
页:
[1]