- 博客(40)
- 资源 (3)
- 收藏
- 关注
转载 bat 脚本的常用特殊符号
1、@ 命令行回显屏蔽符2、% 批处理变量引导符3、> 重定向符4、>> 重定向符5、<、>&、<& 重定向符6、| 命令管道符7、^ 转义字符8、& 组合命令9、&& 组合命令10、|| 组合命令11、"" 字符串界定符12、, 逗号13、; 分号14、() 括号15、! 感叹号16、批处理中可能会见到的其它特殊标记符: (略) CR(0D) 命令行结束符 ...
2022-05-15 17:59:19
6153
转载 PPG测量心率和血氧原理
光电容积脉搏波描记法PPG光学心率传感器,如果带过上述那些智能手表或者智能手环的朋友来说也不算稀奇的事情。就拿AppleWatch来说,测量心率时底部的表盘会发出绿色的灯光,并且测量的时候手腕最好保持不动否侧会影响测量结果。接下来将详细介绍光学心率测量的原理。如下两张图是光学心率传感器。图a是LED没有发光的时候中间是一个光敏二极管,图b是传感器的LED发光的时候。图A 图B那么为什么通过LED灯发光就能测量心率呢?当LED...
2020-05-18 15:46:28
11429
转载 嵌入式开发框架之模块化代码实现(仿linux设备驱动)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/MINGTING1323/article/details/100186598在上一篇https://blog.youkuaiyun.com/MINGTING1323/article/details/100173420介绍了模块化编程思想,但实...
2019-10-10 13:40:26
526
转载 嵌入式开发框架之模块化编程思想
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/MINGTING1323/article/details/100173420好久没更新播客了,最新想写些自己的编程方面想法。也就是些自己的想法,不一定准确,在这希望能和大家分享下。相信大家在大学的时候都学过程序遵循的标准是“低内聚高耦...
2019-10-10 13:38:43
1608
转载 嵌入式软件开发框架浅见
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/MINGTING1323/article/details/80591288因主要是从事应用软件开发,现在讲的是嵌入式应用软件框架。一般好的程序框架,不单单只是应用软件的框架,是一个系统的。如linux系统架构,由于本人才疏学浅只能自我编写...
2019-10-10 13:38:14
923
1
转载 STM32学习笔记:位带操作(Bit_band Operations)
注意:本文中关于STM32的位带操作原理只适用于Cortex-M3和Cortex-M4(F)内核处理器,Cortex-M系列的其他内核处理器可能不支持位段操作(如Cortex-M0内核处理器就不支持位段操作),详情请参考相关内核处理器的指南或技术参考手册(TRM)。1、位带操作CPU不能直接对位带区中的单个数据位位寻址,只能通过对位带别名区的访问(或读/写)实现对位带区单个数据位的访问(或读/...
2019-09-17 11:04:07
1088
转载 ANT+ 之【心率传感器设计】【下】
好久不见!!最近的几个月发生了不少事情,导致精力极度分散,自己todolist上各个项目的优先级不停地被调整,博客的事情就被暂时搁置了下来。现在抽出了时间赶紧继续更新一篇ANT博客好了。/********************************************************************************************************...
2019-09-16 11:19:25
2276
转载 ANT+ 之【心率传感器设计】【上】
“Don't ever underestimate theheartof a champion.” ——Rudy Tomjanovich对于这句堪称Clutch City精神写照的话,我却也有着另一方面的理解。那么便是:对于专业运动训练来讲,心率表真的是最最重要的辅助设备没有之一了。这次写的主题就是心率传感器(HRM,HeartRateMonitor)。一、...
2019-09-16 11:18:39
2953
转载 ANT无线通信技术(4) 配对实例
了解了有关通道配置的概念之后,接下来我们进行ANT配对的学习。一、配对 在两个需要通信的节点间建立联系的过程,叫做配对(pairing)。配对的具体操作包括:从机搜索主机通道并同步;从机获取主机通道ID;从机设置自身通道参数与主机匹配,然后建立ANT通道开始通信。“获取主机通道ID”可以视为配对成功的标志。获取的通道ID可以存入存储器多次使用,因此配对可以是永久的,半永久,...
2019-09-16 11:17:56
1443
转载 ANT无线通信技术(3) 数据类型及拓扑结构
Previously,我们说了配置ANT通道相关的几个参数,但想要完成节点的通道配置与配对的全过程,我们还有几个概念与参数需要提前了解。一、典型的ANT节点结构 这里我并不会过多地介绍ANT模块的硬件模块,但要说明的是,ANT作为一种高度集成且精简高效的商用私有协议,nordic提供了完整SoC无线解决方案。比如nRF24APx系列,nRF51xxx系列等,都是常用的ANT...
2019-09-16 11:17:05
1337
转载 ANT无线通信技术(2) 通道配置
一、ANT通道介绍 ANT通道的配置是ANT应用开发中的关键。官方文档中的叫法是“channel”,之所以我翻译为“通道”,而不是“信道”或者“频段”,是因为后两词是常用于电子通信领域中的一个专有概念,往往带有许多的技术背景与色彩。而ANT技术灵活多变的组网通讯方式,使得ANT channel拥有了更为丰富的逻辑含义,使用汉语中意义最广泛的“通道”一词能更好得描述这个抽象的逻辑概念。...
2019-09-16 11:16:07
2616
1
转载 ANT无线通信技术(1) 简介
一句话介绍: ANT协议是由Nordic的子公司dynastream tech.开发的私有2.4G通信协议。两个技术特点: 超低功耗;灵活精简的组网配置。三个最专注的领域: 运动、健康管理、医疗。简评: 面临着其他2.4G技术比如BLE、Zigbee、WiFi的挑战,ANT凭借着其优秀的低功耗性能、高度优化的资源利用表现获得了不少厂商支持。...
2019-09-16 11:14:59
4989
转载 基于NAND Flash的RL-FlashFS实现
RL-ARM版本:4.22NAND Flash芯片:K9F1208U0C处理器:STR912FAW4x软件平台:裸奔编译环境:MDK-ARM Professional Version: 4.23目标:基本文件系统操作RL-FlashFS是RL-ARM的一部分,它可以脱离RTX内核独立运行,所以为了降低调试难度,我采用了裸奔的方式。1. 添加RL-FlashFS函数库将\Kei...
2019-08-16 18:18:52
2168
转载 ProtoBuf中结构化数据的编码
本文的主要内容是google protobuf中序列化数据时用到的编码规则,但是,介绍具体的编码规则之前,我觉得有必要先简单介绍一下google protobuf。因此,本文首先会介绍一些google protobuf相关的内容,让读者朋友对google protobuf有一个初步的印象,然后,再开始进入正题—-深入浅出地介绍google protobuf中用到的编码规则。下面言归正传,开始今天的...
2019-07-24 11:59:55
459
转载 Linux下使用protobuf-c实现自定义协议
1、背景需求通信协议设计,考虑了后续跨语言的支持(如Java、Python、C),需求一种序列化、反序列化的库2、相关知识Google Protocol BUffer 提供了一种适用于RPC系统、持续数据存储系统的混合语言数据标准,可用于通信协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前有C++、C、Java、Python三种语言的API。2...
2019-07-12 10:59:36
1426
转载 protobuf-c的使用(一)构建
protobuf很出名,是google开发的序列化库,很多公司都使用它作为接口的数据结构。地址:https://developers.google.com/protocol-buffers/支持java、c++、go等多种语言,几乎所有主流语言都支持,但是官方没给出c语言的支持。经过一番寻找,找到了protobuf-c。在github中有很多protobuf c版本的实现,不过个人感觉还是这个...
2019-07-12 10:42:03
4513
转载 CRC16常见几个标准的算法及C语言实现
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/leumber/article/details/54311811CRC16常见的标准有以下几种,被用在各个规范中,其算法原理基本一致,就是在数据的输入和输出有所差异,下边把这些标准的差异列出,并给出C语言的算法实现。CRC16_CCITT:多项式x16+x12+x5+1(0x1021),...
2019-07-10 18:56:43
384
转载 [EMWIN] 多国语言实现方法
[STemWin][EMWIN] 多国语言实现方法---csv文件实现 文章转载自:http://blog.youkuaiyun.com/ewrest/article/details/78346882 优点: 多国语言较多的时候,采用这种办法比较容易, 缺点:占用的RAM比较多.前期准备:PC: win7X64 vs2013 微软自带的微软雅黑字体emwin 相关:...
2019-05-09 15:13:40
2213
转载 Bluetooth HCI介绍
Bluetooth HCI介绍2014年06月23日 22:22:11hzl6255阅读数:3219HCI, 主机控制接口(Host Controller Interface), 是蓝牙协议栈的重要部分,相应的规范位于Core Version 4.1的vol 2:Part E和vol 4HCI提供了对控制器的统一接口,用来沟通Host和Control,如下图所示在规范中对H...
2019-05-09 13:24:32
3742
转载 Bluetooth L2CAP介绍
Bluetooth L2CAP介绍阅读目录1. 介绍 2. 实现 3. 通用操作 4. 数据包格式 5. 信号包格式 6. 参数配置选项 7. 状态机回到顶部1. 介绍L2CAP,Logical Link Control and Adaptation Protocol,即逻辑链路控制和适配协议,是蓝牙系统中的核心协议相应的规范位于Core Version...
2019-05-09 09:54:35
586
转载 Bluetooth RFCOMM介绍
Bluetooth RFCOMM介绍阅读目录1. 介绍 2. 服务 3. 接口 4. 帧类型 5. 帧格式 6. Multiplexor Frames回到顶部1. 介绍RFCOMM提供了基于L2CAP协议的串行(9针RS-232)模拟RFCOMM支持在两个蓝牙设备间高达60路的通信连接,最新规范是V1.2RFCOMM支持两种设备类型,但并不对它们进行区分...
2019-05-09 09:53:35
1517
转载 Bluetooth HFP介绍
Bluetooth HFP介绍阅读目录1. 介绍 2. 应用层回到顶部1. 介绍1.1 概述HFP,Hands-free Profile,让蓝牙设备可以控制电话,如接听、挂断、拒接、语音拨号等常见的使用情景是汽车套件和蓝牙耳机,将它们连接至手机并用于拨打和接听电话HFP在蓝牙中的位置如下所示, 从中可以看出,HFP依赖于Serial Port Profile和G...
2019-05-09 09:52:24
2250
转载 Bluetooth SDP介绍
Bluetooth SDP介绍阅读目录1. 概念 2. 服务记录 3. 服务属性 4. 服务类 5. 服务查找 6. 服务浏览 7. 数据表示 8. 协议说明回到顶部1. 概念SDP, Service Discovery Protocol,服务发现协议SDP提供了一种用于发现服务及这些可用服务属性的方法,但它不提供利用这些服务的机制其架构是Client-S...
2019-05-09 09:51:24
619
转载 Bluetooth Baseband介绍
Bluetooth Baseband介绍阅读目录1. 介绍 2. 概述 3. 物理信道 4. 物理链路 5. 逻辑传输层 6. 逻辑链路 7. 数据包 8. 链路控制回到顶部1. 介绍蓝牙的radio工作在2.4GHz的ISM Band(2400-2483.5 MHz),信道间隔1MHz,采用跳频技术回到顶部2. 概述在连接(CONNECTION)状...
2019-05-09 09:50:06
942
转载 Bluetooth LMP介绍
Bluetooth LMP介绍阅读目录1. 介绍 2. 数据包格式 3. 程序规则 4. 回应消息 5. 设备特性 6. Procedure回到顶部1. 介绍LMP即Link Management Protocol,用于链路建立和控制基于这一层的实体我们称之为链路管理器(LM: Link Managers)LM将命令转换为Baseband层的操作,包括...
2019-05-09 09:48:24
2284
转载 Bluetooth GAP介绍
Bluetooth GAP介绍阅读目录1. 介绍 2. 角色 3. 配置 4. 模式 5. 安全 6. 空闲模式 7. 建立连接 8. 操作模式和过程回到顶部1. 介绍GAP,Generic Access Profile,该Profile保证不同的Bluetooth产品可以互相发现对方并建立连接GAP定义了蓝牙设备如何发现和建立与其他设备的安全/不安全连接...
2019-05-09 09:47:03
542
转载 Bluetooth ATT介绍
Bluetooth ATT介绍阅读目录1 介绍 2 详细内容 3 Attribute PDU 4 Attribute Protocol PDU回到顶部1 介绍ATT,Attribute Protocol,用于发现、读、写对端设备的协议(针对BLE设备)ATT允许设备作为服务端提供拥有关联值的属性集让作为客户端的设备来发现、读、写这些属性;同时服务端能主动通知客户...
2019-05-09 09:43:42
562
转载 STM32 KEIL下的堆栈设置
刚接手STM32时,你只编写一个int main(){while(1);}BUILD://Program Size: Code=340 RO-data=252 RW-data=0 ZI-data=1632 编译后,就会发现这么个程序已用了1600多的RAM,要是在51单片机上,会心疼死了,这1600多的RAM跑哪儿去了,分析map,你会发现是堆和栈占用的在startup_stm3...
2019-05-08 10:33:35
1310
翻译 IOS通知中心服务 ANC协议
pple通知中心服务Apple Notification Center服务是其服务UUID所在的主要服务7905F431-B5CE-4E99-A40F-4B1E122D00D0。NP上只有一个ANCS实例。由于iOS的性质,不保证ANCS始终存在。因此,NC应该寻找并订阅GATT服务的服务变更特征,以便随时监控ANCS的潜在发布和取消发布。服务特色在其基本形式中,ANCS揭示了...
2019-03-21 19:03:50
832
转载 如何禁止KEIL初始化RAM清零
笔记:(1)如何禁止KEIL初始化RAM为零?1. 在KEIL Noinit 打钩 2.<1> 另须对需要热启动保持的变量用__at关键字指定某个区域,否则还是没用 (#include "absacc.h") <2>或者__attribute__((zero_init)) 关键字 ...
2019-03-15 20:56:26
2715
1
转载 BLE GATT 介绍
BLE GATT 介绍GATT(Generic Attribute Profile),描述了一种使用ATT的服务框架该框架定义了服务(Server)和服务属性(characteristic)的过程(Procedure)及格式Procedure定义了characteristic的发现、读、写、通知(Notifing)、指示(Indicating)及配置characteristic的广...
2019-03-06 17:54:18
780
转载 Git客户端(TortoiseGit)基本使用详解
Git客户端(TortoiseGit)基本使用详解1、 环境安装Git最新版下载地址:https://gitforwindows.org/ TortoiseGit,Git客户端,32/64位最新版及对应的语言包下载地址:https://tortoisegit.org/download/ 安装的方法,一直下一步就行,具体做法省略。 2、 配置 1. 首先,请选定一...
2019-02-20 10:34:10
208
转载 SourceTree的基本使用
SourceTree的基本使用1. SourceTree是什么拥有可视化界面的项目版本控制软件,适用于git项目管理 window、mac可用2. 获取项目代码1. 点击克隆/新建 2. 在弹出框中输入项目地址,http或者ssh地址都可以 如果箭头指向的仓库类型表明“这不是一个标准的Git仓库”,可能是有以下原因 1) 项目地址获取错误 ...
2019-02-20 10:26:25
213
转载 【git学习】SVN项目迁移到Git操作指南
git学习——>在CenterOS系统上安装GitLab并自定义域名访问GitLab管理页面git学习——>如何汉化GitLab?(转)git学习——>Git 分支管理最佳实践git学习——> Gitlab如何进行备份恢复与迁移?git学习——> 解决Gitlab 版本升级之后,发送 merge request 出现 http 500 的返回码错误Git学习...
2019-02-19 17:14:23
424
转载 cJSON 使用详解
cJSON 使用详解由于c语言中,没有直接的字典,字符串数组等数据结构,所以要借助结构体定义,处理json。如果有对应的数据结构就方便一些, 如python中用json.loads(json)就把json字符串转变为内建的数据结构处理起来比较方便。 cjson库文件下载: sourceforge地址 一个重要概念: 在cjson中,json...
2019-01-03 18:34:46
329
转载 Protobuf语言指南
Protobuf语言指南l 定义一个消息(message)类型l 标量值类型l Optional 的字段及默认值l 枚举l 使用其他消息类型l 嵌套类型l 更新一个消息类型l 扩展l 包(package)l 定义服务(service)l 选项(option)l 生成访问类本指南描述了怎样使用protocolbuffer语言...
2018-12-28 15:02:37
288
转载 嵌入式应用软件架构设计
转自:https://blog.youkuaiyun.com/qq8864/article/details/17961375嵌入式应用软件架构设计要做到嵌入式应用的代码逻辑清晰,且避免重复的造轮子,没有好的应用架构怎么行。如果没有好的架构,移植将会是一件很痛苦的事情。如果没有好的架构,复用是最大的难题,没法更大限度的复用原有的代码。如果没有好的架构,一旦驱动改了,所有的地方都要改,费时费力且很容易出错。如果没...
2018-07-07 17:15:32
9378
转载 单片机程序构架
转自 https://blog.youkuaiyun.com/qq8864/article/details/17961375单片机程序构架似乎软件架构,只有纯上位机软件才有,其实,嵌入式软件也有架构可言,只有好的架构,才能结构清晰,方便开发和让系统稳定的工作。在有嵌入式操作系统的情况下,可以利用多任务和信号量,事件等设计嵌入式软件。但是在没有操作系统的裸机中,更需要有好的架构。例如利用事件和状态机模拟实现多任...
2018-07-07 17:13:37
387
转载 CC2541之notify通知方式的介绍和使用 一、简介 本篇介绍CC2541从机端的notify通知的两种方式。 二、实验平台 协议栈版本:BLE-CC254x-1.4.0 编译软件:IAR
CC2541之notify通知方式的介绍和使用一、简介本篇介绍CC2541从机端的notify通知的两种方式。二、实验平台协议栈版本:BLE-CC254x-1.4.0编译软件:IAR 8.20.2硬件平台:Smart RF开发板三、基础知识1、简介notify通知的两种方式答:1)GAT
2017-11-02 17:58:06
2019
转载 TI BLE CC2541 Notification
注:本文转载来自:http://blog.youkuaiyun.com/ab198604一、修改从机端代码(Server端):A 对Profile的修改如果要使用Notification或Indification方法,必须在Profile中添加configuration,如下:其中, clientCharCfgUUID值如下,它是uint
2017-11-02 15:28:10
492
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人