- 博客(241)
- 资源 (1)
- 收藏
- 关注
原创 BLE通用广播包
格式定义字段(Flags)是一个字节的配置字段,是唯一一个必须包含的字段,用于指示设备是否可以被搜到、是否支持传统蓝牙,是否支持可被连接等。
2023-11-23 00:35:14
2371
原创 VirtualBox 常见问题解决(VirtualBox COM 对象失败)
是VirtualBox软件出问题了,无法启动,重装VirtualBox就可以解决。
2023-06-07 18:01:09
858
原创 单片机编程:软件定时器
单片机软件在没有RTOS的情况下,使用软件定时器,它的作用类似OS的线程。从而大大简化程序设计,提高代码质量。软件定时器设置函数的基本参数:定时器ID,定时时间,定时回调函数。软件定时器使用场景:1、LED闪烁2、执行时间有时间要求的任务.........
2021-12-27 15:18:02
1311
原创 VS Code
文章目录1、跳转类(F12)2、查找类VS Code 常用快捷键如下:1、跳转类(F12)序号快捷键功能1F12跳转到定义(Go to Definition)2Ctrl + Home跳到本页开头3Ctrl + End跳到本页结尾2、查找类序号快捷键功能1Ctrl +F当前页面查找2Ctrl + G跳到指定行(Line)......
2021-11-30 12:21:54
2528
原创 软件框架基础
文章目录1、软件框架的定义 2、使用软件框架优势1、软件框架的定义软件框架是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。2、使用软件框架优势2.1 软件框架的代码流程是经过测试验证的,基于框架开发软件 极大降低 出现bug的概率。2.2 基于框架开发软件很容易拓展,增加应用代码,快速完成需求。...
2021-11-27 20:49:41
669
转载 C运行速度优化方法
文章目录1、选择合适的算法和数据结构2、使用尽量小的数据类型3、减少运算的强度3.1 查表4、循环优化5、提高CPU的并行性6、变量7、使用嵌套的if结构
2021-10-19 21:45:25
2967
原创 C编码小技巧(代码注释,日志开启/关闭,防止.h重复定义)
文章目录 1、删除代码 2、防止.h重复定义 3、功能模块日志的开启和关闭1、删除代码代码注释 除了//,/**/,还有:#if 0#endif2、防止.h重复定义#pragma once3、功能模块日志的开启和关闭#define MOTOR_DEBUG 1#ifdef MOTOR_DEBUG printf("%s: motor_debug", __func__);#endif...
2021-10-19 21:15:53
345
原创 BLE广播包4种类型
文章目录1、可连接的非定向广播(ADV_IND)2、可连接的定向广播(ADV_DIRECT_IND)3、不可连接的非定向广播(ADV_NONCONN_IND)4、可扫描的非定向广播(ADV_SCAN_IND)1、可连接的非定向广播(ADV_IND)这是一种用途最广,最常见的广播类型,包括广播数据和扫描响应数据,它表示当前设备可以接受任何设备的连接请求。进行通用广播的设备能够被扫描设备扫描到,或者在接收到连接请求时作为从设备进入一个连接。通用广播可以在没有连接的情况下发出,换句话说,没有主从设备之分。
2021-09-20 15:45:24
4519
原创 单片机问题排查技巧(异常复位,程序死机)
单片机问题排查技巧序号分类原因1内存泄露内存泄露导致复位(BK会打印 error=f2f2f2f2)2看门狗喂狗不及时导致复位,可能没有打印错误码,跟 硬复位 效果相同3指针使用出错-4软件复位寄存器不会重置5硬复位上电复位 / RST引脚复位,寄存器会重置......
2021-08-07 22:28:15
9295
1
原创 BLE HCI Status(断开码)
断开码 描述 0x08 0x13 RemoteUserTerminatedConnection 主机断开 0x16 ConnectionTerminatedByLocalHost 设备主动断开 0x22 LMPResponseTimeout/LLResponseTimeout
2021-06-24 16:38:06
2055
转载 STM8系列5大主流成员(S,L,T,AF,AL)
参考链接:http://www.elecfans.com/emb/danpianji/20180205630345.html文章目录1、STM8S主流系列2、STM8L超低功耗系列2.1 STM8L101系列2.2 STM8L151 / STM8L152系列2.3 STM8L162系列2.4 STM8L051 / STM8L052系列3、STM8T系列4、STM8AF 系列汽车用5、STM8AL超低功耗系列汽车用MCUSTM8系列微控制器,8位微控制器平台基于高性能8位内核和先进外设集,在8位单片机行
2020-10-26 17:53:08
3752
原创 FileZilla 实现 Ubuntu 和 Windows 文件互传(开启 FTP)
文章目录1、开启 Ubuntu 下的 FTP 服务在开发的过程中会频繁的在 Windows 和 Ubuntu 下进行 文件传输,比如在 Windwos 下进行代码编写,然后将编写好的代码拿到 Ubuntu 下进行编译。Windows 和 Ubuntu 下的文件互传需要使用 FTP 服务,设置方法如下:1、开启 Ubuntu 下的 FTP 服务...
2020-10-21 17:13:07
764
原创 辨析 dB、dBm、dBw
文章目录1、dB2、dBm3、dBw1、dBdB:分贝(decibel )是一个比值,是一个数值,是一个纯计数方法,没有任何单位标注。dB是功率增益或衰减值,dB和dBm换算关系为:dB = 10lg(P1/P2),其中P1、P2为功率,单位为mW。即:dB = 10lgP1 - 10lgP2 = dBm1 - dBm2。如果用dBm表示功率,那dB为功率的差值。dB是两个量之间的比值,表示两个量间的相对大小,而dBm则是表示功率绝对值。在dB,dBm计算中,要注意基本概念,用一个dBm减
2020-10-20 23:15:27
5893
原创 带宽单位和下载速度的换算
Mb(全称为Mbps)这是电信部门衡量网络带宽的单位:兆比特位每秒。MB(MBytes)是电脑文件容量的单位:兆字节。1、带宽单位详解:bps是bit per second(比特位每秒),表示1秒钟传输多少比特(bit)的意思。位(bit)与字节(Byte)之间的关系:1Byte = 8bit。2、存储单位详解:1GB=1024MB,1MB=1024KB,1KB=1024Bytes。所以,当我们使用100Mbps带宽的网络下载时,理论上的速度应该是100/8 = 12.5MBps。.
2020-10-20 11:40:35
9752
转载 5G和边缘计算
原文链接:终于有人把5G和边缘计算的关系说清楚了文章目录1、5G来了1、5G来了4G的普及改变了生活,满足了人们对视频通话,高清视频播放等基本要求,但是面向未来,每个人平均将拥有数十台智能终端,每平方公里将有百万级智能设备接入,加之人们对超高速传输速率的渴望,4G技术远远无法胜任。因此,5G的研发已成为各大国家和组织、各电信运营商及设备商的重要工作项目。5G就是第五代移动通信系统,它和大哥大变成智能手机,绿皮火车变成和谐号,DOS系统变Win10系统一样,都是一种大幅度的技术升级。与4G相比,5G
2020-10-20 09:40:34
957
原创 如何打开 Win 10 命令提示符
命令提示符可以用来 执行命令,例如可以运行 ipconfig 命令获取电脑 IP。1、【Windows】按键,选择【Windows 系统】—>【命令提示符】;2、然后就出现【命令提示符】的窗口了。
2020-10-19 14:36:57
399
原创 与 ZigBee 关键参数对比
序号参数BLE MeshZigBee说明1频点2.4G2.4G-2信道数40个16个其中,BLE有3个广播信道,37个数据信道3调制方式GFSKO-QPSK-4峰值速率1M bps250k bpsZigbee 2.4G采用32位扩频码,每四位二进制数据符号映射到一个扩频码,所以数据速率为2000/32*4=250kbps5典型最大发射功率---6典型接收灵敏度---7链路预算--更多的链路预...
2020-10-18 16:59:35
1094
3
原创 继电器的过零保护
智能开关普遍采用继电器作为“开关”控制元件,而触点是继电器最重要的组成部分,同时也是最易损坏的部分,特别是在高压、大功率控制系统中。由于触点闭合瞬间产生接触打火,并在断开瞬间产生拉弧使触点损坏,导致控制系统失效或造成严重后果。继电器触点接触打火是因为触头在吸合时发生连续弹跳,触头间不停接触又断开,从而产生很大的火花,特别是在交流电波峰或波谷时闭合继电器,此时火花最大,如果能保证继电器触头在交流电过零点时闭合,可以极大地减小打火现象。继电器触点拉祜是因为触头在断开时,若负载为非纯电阻型,便会产生反向电动势
2020-10-16 16:01:58
5351
1
原创 内存中的数据对齐
文章目录1、结构体的长度2、CPU的优化规则3、数据对齐1、结构体的长度结构体:在默认情况下(1)为了方便对结构体内元素的访问和管理,当结构体内的元素的长度 都小于处理器的位数的时候,就以结构体里面最长的数据元素为对齐单位,也就是说,结构体的长度一定是 最长的数据元素的整数倍。(2)如果结构体内,存在长度大于 处理器位数的元素,那么就以处理器的位数为对齐单位。2、CPU的优化规则CPU的优化规则,大致原则是这样的:对于n字节的元素(n=2,4,8,…),它的首地址能被n整除,才能获得最好的性
2020-10-13 09:43:18
449
原创 整数提升 问题
文章目录1、整数提升(char 转 int) + 优先级问题(易错题)1、整数提升(char 转 int) + 优先级问题(易错题)#include <iostream>using namespace std;int main(){ unsigned char a = 0xA5; unsigned char b = ~a >> 4 + 1; printf("b = %d\n", b); //b=250 return 0;}在机器中 0xA5的寄存中表达是
2020-10-12 15:54:11
253
原创 主机字节序(小端:X86,STM32;大端:51单片机,STM8)
文章目录1.1 主机字节序1.1 主机字节序在几乎所有的计算机上,多字节的对象,都被表示为连续的字节序列。数据的高字节 保存在 内存的低地址,称为 大端模式(大端序);数据的高字节 保存在 内存的高地址,称为 小端模式(小端序)。0x12345678 这样一个 32 位整数在内存中需要占用四个字节,这四个字节的地址会递增。若随着地址增加,按照 0x12、0x34、0x56 和 0x78 这样的顺序存入内存,就称为大端序;反之,若随着地址增加,按照 0x78、0x56、0x34、0x12 的顺
2020-10-12 14:55:36
1989
原创 Saleae 逻辑分析仪应用
文章目录1、逻辑分析仪2、软件安装以及软件基本应用3、硬件安装4、触发设置1、逻辑分析仪逻辑分析仪是一种类似于示波器的波形测试设备,它通过采集指定的信号,并通过图形或者数据统计化的方式展示给开发人员,开发人员通过这些图形化时序信号按照协议来分析硬件或者软件中的错误。逻辑分析仪是设计中不可缺少的设备,通过它,可以迅速定位错误,发现并解决问题,达到事半功倍的效果,尤其在分析时序,比如 1wire、I2C、UART、SPI、CAN 等数据的时候,应用逻辑分析仪解决问题非常快速。2、软件安装以及软件基本
2020-10-08 11:22:40
3920
原创 SQLite 简介
SQLite 是一款轻量级数据库,是一个关系型数据库(RDBMS)管理系统,它包含在一个相对小的 C 库中,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。它能够支持 Windows/Linux/Unix/Android/iOS 等等主流的操作系统,同时能够跟很多程序语言相结合,比如 C#、PHP、Java 等,更重要的是 SQLite 文件格式稳定,跨平台且向后兼容,开发人员保证至少在
2020-10-06 18:22:22
1230
1
原创 服务器概述
服务器是指提供计算服务的设备,如 网页服务器、文件服务器、数据库服务器、邮件服务器、域名服务器 和代理服务器等。可以说我们在互联网上的所有操作,背后都是在跟服务器打交道。例如我们 访问网页、网上购物、微信聊天、运行网络游戏、观看在线视频 等一切需要联网才能正常进行的应用,其背后都由服务器作为支撑。服务器的实体各种各样,小到单板电脑,大至计算机集群,实际上你正在使用的个人电脑,安装上对应的服务软件,通过网络给其它计算机提供资源,它也就变身成了一个服务器。服务器的本质也是计算机,只是通常来说它们没有显示器,不
2020-10-06 09:32:11
470
原创 人工智能、机器学习和深度学习的区别
文章目录一、人工智能二、机器学习:一种实现人工智能的方法三、深度学习:一种实现机器学习的技术3.1深度学习已经取得的进展一、人工智能人工智能的研究领域包括 专家系统(Expert Systems)、机器学习(Machine Learning)、进化计算(Evolutionary Computation)、模糊逻辑(Fussy Logic)、计算机视觉(Computer Vision)、自然语言处理(NLP)、推荐系统(Recommender Systems)等。目前的科研工作都集中在弱人工智能这
2020-10-05 14:22:30
3436
原创 MicroPython(基于ESP8266)
文章目录1、搭建开发环境1.1 安装开发软件 Mu2、开发套件使用2.1 驱动安装2.2 REPL 串口交互调试1、搭建开发环境1.1 安装开发软件 Mu2、开发套件使用2.1 驱动安装2.2 REPL 串口交互调试打开putty,选择左下角 Serial,配置信息:(配置好后不是点 open,而是点左边上方 Session)串口号通常不会变化,在 Save Session 下方输入 COM16 或者自己命名的名称,单击右边 Save,在空白框里面就出现 COM16 字样,以后可
2020-09-12 17:45:41
462
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人