自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

转载 BLE 配对过程详解

原链接:https://bbs.21ic.com/blog-1827100-160300.html欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在..

2021-03-03 20:05:02 787 1

原创 JLink的RTT调试

RTT( Real Time Terminal)是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都有这个软件哦。用RTT可以从目标MCU上输出信息的同时也可以非常高速的向应用程序发送信息,并且不影响MCU的实时性。其实现原理就是J-link与MCU共享内存,具体实现细节感兴趣的读者可以自己去查阅下资料,本文以应用为主。RTT的工作框图如下图所示。MCU通过J-link与电脑连接并将打印信息输出到电脑上,电脑同时可以通过键盘等向MCU发送数据。

2023-02-20 10:08:33 1053

转载 彻底搞懂线程、进程、多线程、多进程和多任务的关系

彻底搞懂线程、进程、多线程、多进程和多任务的关系

2022-09-02 15:13:18 637 1

转载 缓冲区(buffer)与缓存(cache)

Buffer的核心作用是用来缓冲,缓和冲击。比如你每秒要写100次硬盘,对系统冲击很大,浪费了大量时间在忙着处理开始写和结束写这两件事嘛。用个buffer暂存起来,变成每10秒写一次硬盘,对系统的冲击就很小,写入效率高了,日子过得爽了。极大缓和了冲击。Cache的核心作用是加快取用的速度。比如你一个很复杂的计算做完了,下次还要用结果,就把结果放手边一个好拿的地方存着,下次不用再算了。加快了数据取用的速度。简单来说就是buffer偏重于写,而cache偏重于读。

2022-02-19 10:20:18 4580 1

转载 同步IO(阻塞IO、非阻塞IO), 异步IO的理解

用户进程发起请求从内核中获取数据那么这时候有两种情况:操作系统还没有准备后数据,那么这时候怎么办,有两种方法:        a. 让用于进程等着(这种情况就是阻塞)        b. 如果没有数据就返回一个ERROR,不需要用户进程干等(这种情况就是非阻塞)过了一会儿操作系统准备好数据了,这时候又有两种方法:        a. 啥也不管,等着用户进程再次来请求才把数据给它(这种情况就是同步)        b. 负责到底,数据准备好,直接给到用户进程,并且还发出一个信号,告诉用户

2022-02-17 20:02:47 2458

转载 SHEll脚本之知识点汇总

shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说,Shell是一个命令解释器,它通过接受用户输入的Shell命令来启动、暂停、停止程序的运行或对计算机进行控制。shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序。

2021-05-21 11:37:31 541

转载 NORDIC ble连接时触发配对

NORDIC ble连接时触发配对最近答疑碰到几次都提到 需要实现手机每次连接上设备后,立刻出发配对并要求输入密钥的功能。 这里就单独写一个教程供大家参考下。配对的目的是为了对链路进行加密。以提高蓝牙的传输安全。关于配对的一些相关知识在 静态密码/动态随机密码教程中有一些介绍。对于使用来说,理解一下配对相关流程就行了。这里额外说个问道比较多的配对和绑定区别的问题:关于配对和绑定,一些人可能一直分不清楚他们的区别。配对是为了对提高蓝牙链路传输的安全性。而绑定是配对发起时的一个可选配置.

2021-01-20 10:51:51 799

原创 BLE技术知识点大全

BLE是低功耗蓝牙的英文缩写(Bluetooth Low Energy),是蓝牙4.0版本起开始支持的新的、低功耗版本的蓝牙技术规范。蓝牙技术联盟(Bluetooth SIG)在2010年发布了跨时代的蓝牙4.0,它并不是蓝牙3.0的简单升级版本,而是全新的技术架构,蓝牙4.0版本分两种模式:单模蓝牙和双模蓝牙。常见的蓝牙音箱,是典型的双模蓝牙,它需要传输大量的音频数据。而小米手环,蓝牙温度计则属于单模蓝牙。行业里一般不讲单模蓝牙,而是统一称为低功耗蓝牙。如今,蓝牙5.0已经发布和应用...

2020-12-07 13:12:53 12258 3

转载 流控制

串口通讯流控制我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯中有何作用,在编制串行通讯程序怎样应用呢?这里我们就来谈谈这个问题。 1.流控制在串行通讯中的作用这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则.

2020-12-07 11:13:55 495

转载 深入浅出低功耗蓝牙(BLE)协议栈

转载于:https://www.cnblogs.com/iini/p/8969828.htmlBLE协议栈为什么要分层?怎么理解BLE“连接”?如果BLE协议只有ATT层没有GATT层会发生什么?协议栈框架一般而言,我们把某个协议的实现代码称为协议栈(protocol stack),BLE协议栈就是实现低功耗蓝牙协议的代码,理解和掌握BLE协议是实现BLE协议栈的前提。在深入BLE协议栈各个组成部分之前,我们先看一下BLE协议栈整体架构。如上图所述,要实现一个BLE应用,首先需要一个支.

2020-11-22 15:47:57 322

原创 基于STM32的温湿度DHT11传感器时序详解

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。 它应用专用的数字模块采集技术和温湿度传感技术, 确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。 单线制串行接口, 使系统集成变得简易快捷。超小

2020-11-16 23:40:05 4186 1

转载 C语言断言assert函数用法大全

转载于:http://c.biancheng.net/c/assert/对于断言,相信大家都不陌生,大多数编程语言也都有断言这一特性。简单地讲,断言就是对某种假设条件进行检查。在 C 语言中,断言被定义为宏的形式(assert(expression)),而不是函数,其原型定义在<assert.h>文件中。其中,assert 将通过检查表达式 expression 的值来决定是否需要终止执行程序。也就是说,如果表达式 expression 的值为假(即为 0),那么它将首先向标准错误流 stde

2020-11-15 00:52:13 4116

转载 10大经典排序算法

冒泡排序简介冒泡排序是因为越小的元素会经由交换以升序或降序的方式慢慢浮到数列的顶端,就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名冒泡排序。复杂度与稳定性思路原理以顺序为例 从第一个元素开始一个一个的比较相邻的元素,如果第一个比第二个大即a[1]>a[2],就彼此交换。 从第一对到最后一对,对每一对相邻元素做一样的操作。此时在最后的元素应该会是最大的数,我们也称呼一遍这样的操作为一趟冒泡排序。 针对所有的元素重复以上的步骤,每一趟得到的最大值

2020-11-01 18:02:50 125

转载 C语言运算符优先级和结合性相关知识及易错点

所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁。这个其实我们在小学学算术的时候就学过,如1+4÷2。但是C语言中的运算符已经远不止四则运算中的加减乘除了,还有其他很多运算符。当它们出现在同一个表达式中时先计算谁后计算谁呢?所以本节还是有必要讲一下的。最后我还会将所有运算符展示出来,然后告诉你哪个优先级高、哪个优先级低。首先不需要专门记忆,也没有必要。因为作为初学者,哪个优先级高、哪个优先级低我们很难记住。就算死记硬背记住了,时间长不用也会忘记。所以当一个表达式中有多个运算符时,如果...

2020-10-26 09:11:49 547 2

原创 数组作传递参数时与指针的关系

数组作传递参数时与指针的关系1、传参规则:数组作为函数的参数传参时,数组名会退化为指针,故通常使用数组传参时,需要把数值的长度一起传过去,另外,需要注意的是:sizeof()运算符在计算字符串长度时,包含有该字符串的结束标志’\0’,而strlen()函数不包含,具体参见下面的实例:a.当二级指针作为函数形参时,能作为函数实参的是二级指针,指针数组,一级指针的地址b.当数组指针作为函数形参时,能作为函数实参的是二维数组,数组指针c.当二维数组作为函数形参时,能作为函数实参的是二维数组,数组指针d

2020-10-25 23:32:58 729

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除