目录

功能简介

功能实现

功能调试


功能简介

通过封装串口AT指令,我们可以把8670作为一个蓝牙外设,通过串口的AT指令协议与外部mcu通讯。

比如当csr8670连接到pc端,再pc端通过串口工具发送指令,芯片内部去解析指令,并执行相应的操作

功能实现

8670内置有一套字符串解析工具,通过编写.parse文件,当项目编译时,会生成对应的.c和.h文件。首先我门可以参考hfp_parse.parse进行编写sink_parse.parse

如上图所示,第一部分为指令,第二部分为指令解析之后对应的回调函数,当指令后面跟有参数时,需要按照第三部的格式,可以对指令规定一个固定的结尾,如”\r\n”或”\r”等。

编写好.parse之后,添加到工程中进行编译,此时会报错,原因是找不到回调函数的实体,这个时候只需要在sink_parse.h中复制函数定义(注:函数定义会根据.parse自动生成),实现函数实体即可

以AT+GVER指令为例,void handleGetVersion(Task ),回调函数实现示例如下:

void handleGetVersion(Task t)
{                   UartSendStr("+VER:");UartSendStr("0.0.2");UartSendStr("\r\n");
}

功能调试

将编译好的固件烧到板子中,板子连接到pc,用pc上的串口工具发送AT+GVER\r\n, 该指令会进入我们上篇博客所述的app_uart_handler()串口数据分发函数,后进入UartparseData()进行指令解析,最终调用上面实现的handleGetVersion()结果如下图所示:

我已经封装了一部分的AT指令,基本上包含了所有蓝牙功能的使用,具体可以参考我的《AT指令集.docx》。

上面我只贴出了部分代码,详细源码及相关的工具资料等,请到我的博客<csr867x入门笔记(序)>最下面的网盘链接或者github链接中下载。

csr867x入门之串口AT指令协议(三)相关推荐

  1. csr867x入门之串口数据收发(二)

    目录 Uart功能模块实现 将uart库导入工程中 添加应用层逻辑 使用 Uart功能模块实现 默认4.1的adk中是不包含uart收发的应用层逻辑,所以需要自己实现 在src/lib目录下新建uar ...

  2. csr867x入门笔记(序)

    本专栏的主要内容是csr867x的入门使用,主要包括环境搭建及体验,串口调试,at指令协议添加,各个蓝牙协议的使用等,最终这些例程会加入到adk里面,adk主要是基于4.1版本. 我也会把相关的资料放 ...

  3. csr867x入门之gatt使用(五)

    简述 目前的adk中只有电池,心率等几个固定的gatt服务,所以如果要实现自定义的数据收发,需要再自定义一个gatt服务 使能BLE/GATT功能 首先要在config中使能gatt,如下图所示: 添 ...

  4. 基于HMI串口屏的协议(STM32)

    基于HMI串口屏的协议(STM32) 提示: 硬件:STM32H750VBT6.USART_HMI(3.5寸基本型)(TJC4832T035_011X) 官方资料网站:HMI 文章目录 基于HMI串口 ...

  5. python爬虫入门教程--快速理解HTTP协议(一)

    http协议是互联网里面最重要,最基础的协议之一,我们的爬虫需要经常和http协议打交道.下面这篇文章主要给大家介绍了关于python爬虫入门之快速理解HTTP协议的相关资料,文中介绍的非常详细,需要 ...

  6. Vue学习(入门实例、常用指令)-学习笔记

    文章目录 Vue学习(入门实例.常用指令)-学习笔记 实例 常用指令 v-on v-bind v-for v-html v-if event v-model 双向数据绑定实现 - defineProp ...

  7. STM32驱动串口屏,STM32F103C8T6串口发送指令控制HMI串口屏

    STM32驱动串口屏,STM32F103C8T6串口发送指令控制HMI串口屏 串口屏 基础指令集 硬件和接线 接线 实验前准备 STM32程序 串口程序 主函数 实验现象 总结 串口屏 串口屏是一个集 ...

  8. zhuan:串口成帧协议

    串口成帧协议 串口接收中的问题 在电子系统中,最简单.最广泛的通信方式无疑是串口了,几乎所有与模块相关的产品,差不多都有串口的操作方式,如串口蓝牙模块.串口WIFI模块.串口ZigBee模块.串口语音 ...

  9. TCP/IP协议三次握手与四次握手流程解析

    原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...

最新文章

  1. KindEditor编辑器在ASP.NET中的使用
  2. python交互式程序设计导论第二周_沧州学堂云Python 交互式程序设计导论搜题公众号...
  3. CentOS6.5升级到CentOS7
  4. 微软职位内部推荐-Senior PM
  5. 60个我们应该看到的简单和创意的广告
  6. 03-drawcommands工程分析详解
  7. U-GAT-IT整体流程分析
  8. java 代码压缩javascript_利用Java来压缩 JavaScript 代码详解
  9. 2 华为云闪付_教你区分信用卡刷卡、挥卡、插卡、云闪付等支付方式!
  10. Android LowMemoryKiller ADJ原理
  11. Linux Ubuntu 安装 numpy 教程
  12. Ignite 的使用过程(一)
  13. elasticsearch整体结构示意图
  14. 使用three建立一个正方体
  15. 直接管理和维护计算机系统的程序称为,全国2008年4月高等教育自学考试计算机原理试题...
  16. 二元隐函数求二阶偏导_高数,隐函数求二阶偏导。f(x-y,yz)确定了z=(x,y),f具有二阶连续偏导数,求...
  17. Preserving Prefix Integrity
  18. 怎么在sqlyog设置表的外键
  19. 【Java十大热门游戏合集】Java经典游戏项目
  20. Mysql面试高频知识点

热门文章

  1. 文字logo设计的作用
  2. 性价比天花板:如何在预算有限的情况下吃得美味又健康
  3. python 计算月还款额度
  4. 华为近场通讯nfc在哪里打开_华为手机nfc感应区在手机哪个位置
  5. python成功爬取拉勾网——初识反爬(一个小白真实的爬取路程,内容有点小多)
  6. Java项目:课程在线学习与测试系统(java+SSM+redis+Bootstrap+Tomcat+mysql)
  7. Java实验报告四,研究生薪资管理,创建一个抽象交通工具Vehicle类,经理与员工工资等实验
  8. java调用海康威视人脸识别抓拍
  9. sd卡突然所有文件都无法删除,在手机中会提示‘无法删除’,并且无法格式化,并且无法写入文件,
  10. 多可系统中如何修改注册信息