4、CC2541芯片中级教程-OSAL操作系统(简单AT指令实现+IIC软件和硬件实现驱动MPU6050)
本文根据一周CC2541笔记汇总得来——
适合概览和知识快速索引——
全部链接:
中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探
中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~
OSAL操作系统-实验20 模拟IIC通信+硬件IIC(Mpu6050)
一、AT命令初步(17)
AT 命令式通过串口来通信的

串口一有数据就会调用回调函数,为了防止回调函数被频繁调用,采用(延时+数据长度控制,即:超出某一时间或者超出某一长度就调用 NPI_ReadTransport(buffer,numBytes); 读取一定数据)

第224行将串口收到的数据调用AT指令处理函数进行处理:
// AT 命令处理 函数
bool simpleBLE_AT_CMD_Handle(uint8 * pBuffer, uint16 length)
{
bool ret = TRUE;
char strTemp[64]; // 1、测试
if((length == 4) && str_cmp(pBuffer, "AT\r\n", 4))//AT
{
sprintf(strTemp, "OK\r\n");
NPI_WriteTransport((uint8 * )strTemp, osal_strlen(strTemp));
}
// 2、设置LED1的亮灭
else if((length == 9) && str_cmp(pBuffer, "AT+LED", 6))
{
/*
Para: 0 ~ 1
AT+LED0\r\n: 关灯
AT+LED1\r\n: 开灯
Default: 0
*/
switch(pBuffer[6])
{
case '?':
sprintf(strTemp, "OK+Get:%d\r\n", g_LED1);
NPI_WriteTransport((uint8 * )strTemp, osal_strlen(strTemp));
break;
case '0':
g_LED1 = 0;
HalLedSet(HAL_LED_1, HAL_LED_MODE_OFF); // 关闭led1
sprintf(strTemp, "OK+Set0\r\n");
NPI_WriteTransport((uint8 * )strTemp, osal_strlen(strTemp));
break;
case '1':
g_LED1 = 1;
HalLedSet(HAL_LED_1, HAL_LED_MODE_ON); // 点亮led1
sprintf(strTemp, "OK+Set1\r\n");
NPI_WriteTransport((uint8 * )strTemp, osal_strlen(strTemp));
break;
default:
ret = FALSE;
break;
}
}
else
{
sprintf(strTemp, "ERROR\r\n");
NPI_WriteTransport((uint8 * )strTemp, osal_strlen(strTemp)); ret = FALSE;
} return ret;
}
258 行, AT\r\n 为测试命令,
业界几乎所有的 AT 命令模块第一条 AT 命令都是这一条,用于测试模块连接是否正常。
Cc2541 有硬件 iic 功能,但 cc2540 并没有硬件 iic 功能






在simpleBLETest.c直接将MPU6050的设备地址传送给I2C初始化函数就可以了,然后就直接调用读写函数进行读写!

未完~关注我的cc2541分类
4、CC2541芯片中级教程-OSAL操作系统(简单AT指令实现+IIC软件和硬件实现驱动MPU6050)的更多相关文章
- 2、CC2541芯片中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
- 5、CC2541芯片中级教程-OSAL操作系统(PWM+看门狗)
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
- 3、CC2541芯片中级教程-OSAL操作系统(ADC光敏电阻和修改串口波特率)
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
- 1、CC2541蓝牙4.0芯片中级教程——基于OSAL操作系统的运行流程了解+定时器和串口例程了解
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
- STM32 OSAL操作系统抽象层的移植
文章目录 什么是 OSAL? 源码安装 Linux 上OSAL的移植 STM32上OSAL的移植 关键点 测试代码 结语 附件 什么是 OSAL? 今天同学忽然问我有没有搞过OSAL,忽然间一头雾水, ...
- 最适合入门的Laravel中级教程(二)用户认证
之前的初级教程主要是学习简单的增删改查: 接着的中级教程的目标是在初级教程的基础上能写出更复杂更健壮的程序: 我们先来学习 laravel 的用户认证功能: 在现代网站中基本都有用户系统: 而我们每开 ...
- 最适合入门的Laravel中级教程(一)
Laravel 是一个全栈框架: 我们使用 Laravel 开发业务常见有 3 个方向: 前端页面和后端逻辑混合的应用 主要是面向对 SEO 有需求的项目: 比如说新闻资讯博客文章等: 一般在控制器中 ...
- PS教程:20个新鲜出炉的 Photoshop 中级教程
Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径.今天,我向大家分享最新20个 Photoshop 进阶教程,提高你的图片处理技巧,制作时尚的效果.这些教程可以帮助把你的想法 ...
- CC2541连接BTool教程
一.简介 本篇介绍如何基于Smart RF(主芯片CC2541).Smart RF(主芯片CC2540).Usb Dongle,来使用软件BTool. 本篇暂时只介绍如何连接,不介绍如何使用BTool ...
随机推荐
- oracle 秒
select case when deptno=10 then 'aaaa' when deptno=20 then 'bbbb' when deptno=30 then 'cccc' e ...
- MG--滚动的视觉差效果
#几句代码完成tableView滚动的视觉差 - 效果图 (失帧严重),$("."),写了几年就对别人说非常熟悉JQuery.我曾经也是这样的人 ...
- 手机GPS为什么能在室内定位?
为什么手机在室内也能定位?大部分人知道手机会通过GPS进行定位,其实手机定位系统并不是和我们的RTK完全一样的,因为那样就无法解释为何在室内也能定位了,这里我来科普一下智能手机的那些定位方法. ...
- Config文件的读写
using System; using System.Configuration; using System.Xml; namespace COMMON { public class ConfigHe ...
- linux系统编程之错误处理机制
在讲解liunx错误处理机制之前我们先来看一段代码: #include<sys/types.h> #include<sys/stat.h> #include<fcntl. ...
- SQLiteHelper
/** * 实现对表的创建.更新.变更列名操作 * * */ public class SQLiteHelper extends SQLiteOpenHelper { public static fi ...
- 健忘vs总结
上周入职新公司,报道之前自己也曾想过要从头开始,用一个新的精神面貌来迎接新的起点,培养一些新的习惯. 周四是15日,新公司的发薪日(当然还没有我的份~),小组群内一个刚毕业的新人兴冲冲的说终于领到第一 ...
- js 根据名字获取cookie 的方法
function getcookie(c_name) { if (document.cookie.length > 0) { c_start = document.cookie.indexOf( ...