打印
[活动专区]

【AT-START-WB415测评】官方SDK例程MCU部分源码详解

[复制链接]
849|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sd, ar
本帖最后由 6552918 于 2022-8-18 21:59 编辑

对于官方SDK例程的演示,其他小伙伴已经展示过了,但对源码没有过多描述,尽管蓝牙应用手册里有说明,但我觉得还不够详细,本篇帖子将对SDK中的MCU部分源码进行详细的说明,这样会对他入手这款芯片的小伙伴的使用更有帮助。
       在使用SDK前要先安装这款芯片的支持包,这里就不再多做介绍了,可以去看看其他小伙伴的帖子
       接着我们直接上干货,AT415WB_SDK内有两部分,如图所示:
蓝牙应用手册内有和这款芯片开发板相关的说明,需要大家在使用前仔细阅读一下,这样对如果会非常有帮助。
AT32_BLE_Application_Note_V2.0.4.zip内有两部分源码,部分是BLE的,另一部分是MCU的,因为WB415这款芯片使用的上海博通BLE芯片和自己家的裁剪版F415合封而来的,通过如下框图能够清晰的看出来。
在芯片管脚布局上也能看出来
我们接下来看看SDK中MCU部分的源码。
system_clock_config();
由于使用内部高速晶振,系统时钟只能配置到144M,无法配置到最高的150M.

at32_board_init();对板子的LED和按键进行了初始化,
main函数内的at32_button_init(); 是重复的,可以删除
串口初始化如下:
主循环内的函数模块说明如下
串口2和串口3中断只开启了接收中断
串口2接收中断只负责将接收的数据放入缓存区,在AT模式下(UART_TP_MODE == 0),这些数据不做任何处理。在透传模式下(UART_TP_MODE == 1),数据在主循环内通过串口3发送到蓝牙端。
串口3的接收中断就相对复杂点,分为透传模式(UART_TP_MODE == 1)和AT模式(UART_TP_MODE == 0)
在AT模式下(UART_TP_MODE== 0),接收数据后判断\n为AT结束符,然后在主循环内进行AT命令解析。
at_cmd_handler();内处理的命令就行下面这两条
在透传模式下(UART_TP_MODE == 1),数据在主循环内通过串口3发送到蓝牙端。
在透传模式中判断switch_mode_flag的判断
因为蓝牙模块的模式切换是使用AT命令实现的,在切换命令过程中是不能执行透传的,所以用switch_mode_flag标志是否在命令切换过程中,具体实现如下
整个MCU部分的源码就讲解完了,希望对用这款芯片的小伙伴们有所帮助。
@21ic大掌柜   @21ic小管家

使用特权

评论回复
沙发
weifeng90| | 2022-8-8 08:27 | 只看该作者
源码只有这么多?

使用特权

评论回复
板凳
6552918|  楼主 | 2022-8-8 10:03 | 只看该作者
weifeng90 发表于 2022-8-8 08:27
源码只有这么多?

例程源码就这些

使用特权

评论回复
地板
muyichuan2012| | 2022-8-8 13:16 | 只看该作者
本帖最后由 muyichuan2012 于 2022-8-8 13:18 编辑

楼主,时钟flexible模式就可以内部时钟到150MHz,如下图。

使用特权

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

本版积分规则

认证:北京汇冠触摸技术有限公司/电子工程师
简介:电子工程师,嵌入式应用爱好者。

102

主题

1237

帖子

6

粉丝