![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术知识库
文章平均质量分 74
森林之猫猫狗狗
这个作者很懒,什么都没留下…
展开
-
MQTT自学笔记(二)—Message format
前言:关于MQTT的学习我是参照的MQTT V3.1版本。 这里有MQTT V3.1的在线版本: 在线版本 http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html官方下载地址:PDF格式版本 我就是看这个官方的英文文档学习的,其实我这博客基本上就是翻译和总结了这个协议文档。Message forma原创 2017-04-07 18:56:37 · 2711 阅读 · 1 评论 -
SX1276/77/78学习笔记5 - sx1278数据包结构
SX1278 -数据包结构LoRa™ 调制解调器采用隐式和显式两种数据包格式。其中,显式数据包的报头较短,主要包含字节数、编码率及是否在数据包中使用循环冗余 (CRC)等信息,数据包格式见下图。 LoRa™ 的数据包包含以下三个组成部分:前导码可选报头数据有效负载前导码 前导码用于保持接收机与输入的数据流同步。默认情况下,数据包含有12个符号长度的前导码。前导长度是一原创 2018-01-19 20:08:02 · 5737 阅读 · 1 评论 -
SX1276/77/78学习笔记4 -射频信号接收框架简图介绍
SX1278 -射频信号接收框架简图介绍 射频接收的流程(参考网上博客): 1、天线接受射频信号后,(经过声表面滤波器转换,将电波转换成电信号),得到高频信号; 2、高频信号需要经过低噪声放大器LNA(也叫高频头吧?)处理,将信号放大,同时,信号被转换成差分信号,差分信号经过混频器,和内部振荡源混频,得到正交的中频信号(I/Q);(之后还要经过一系列滤波器和放大器,把信号转换成ADC可以原创 2018-01-19 20:06:42 · 3062 阅读 · 0 评论 -
SX1276/77/78学习笔记3 - SX1278 的 FIFO 工作流程和应用注意事项
SX1278 的 FIFO 工作流程和应用注意事项SX1276/77/78 配备了256字节的RAM数据缓存,该缓存仅能通过 LoRa 模式进行访问。 RAM区(以下称为“FIFO数据缓存”)可以完全由用户定制,用于访问接收的或发送的数据。 LoRa™ FIFO 数据缓存只能通过SPI接口访问。这些FIFO数据缓存保存与最后接收操作相关的数据,除睡眠模式之外,在其他操作模式下均可读。在切换原创 2018-01-19 20:05:03 · 5771 阅读 · 0 评论 -
SX1276/77/78学习笔记1 - 概要和专业术语
1. 概要和专业术语LoRa 是 LPWAN(低功耗广域网)通信技术的一种,其作用距离超过 15 公里,连接节点可达 100 万个。低功耗与长距离极限的组合可将最大数据速率提升至每秒 50千比特(Kbps)。LoRa 主要在全球免费频段运行; 包括 433 、868 、915Mkz 。专业术语FHSS :跳频扩频技术 跳频:利用整个带宽(频谱)并将其分割为更小的子通道。发送方和接原创 2018-01-19 19:54:23 · 4368 阅读 · 1 评论 -
SX1276/77/78学习笔记2 - sx1278工作方式
1 . 概要LoRa 的芯片一般有 端部分:SX1276 / SX1276 / SX1278 。网关使用的是 SX1301 。 EML3047 使用的是 STM32L071 + SX1278 。 LoRa 芯片 频率范围 带宽范围 扩频因子 SX1276 137 ~ 1020NHz 7.8 ~ 500kHz 6 ~ 12 SX1277原创 2018-01-19 20:02:53 · 11068 阅读 · 4 评论 -
Git使用学习2:Git 工作区、暂存区和版本库
2. 工作区、暂存区和版本库基本概念 工作区:简单理解就是需要进行版本管理的某个本地文件夹,这个文件夹里面多了一个.git文件隐藏文件。 版本库:工作区文件夹下的.git就是版本库。 暂存区:英文叫stage, 或index。在版本库.git)目录下,有一个index文件。它实际上就是一个包含文件索引的目录树,像是一个虚拟的工作区。在这个虚拟工作区的目录树中,记录了文件名、文件的状态信息原创 2017-12-15 13:08:43 · 238 阅读 · 0 评论 -
Git使用学习1:Git 创建仓库
Git 创建仓库什么是版本库呢?版本库又名仓库,英文名 repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被 Git 管理起来,每个文件的修改、删除,Git 都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。原创 2017-12-15 12:01:09 · 347 阅读 · 0 评论 -
嵌入式程序员面试基本习题
这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。原创 2017-12-06 12:00:36 · 479 阅读 · 0 评论 -
网络通信之htonl()、htons()、ntohl()、ntohs()四个函数以及小端大端(小尾大尾)模式
前言:今天在工作中用到htonl()这个函数,不是很理解,查阅资料之后随笔就记录下来,方便以后工作和学习翻阅。 首先需要说明的是这四个函数的头文件都是#include htonl()函数函数原型是:uint32_t htonl(uint32_t hostlong) 其中,hostlong是主机字节顺序表达的32位数,htonl中的h–host主机地址,to–to,n–net网络,l–unsign原创 2017-04-06 17:57:11 · 2514 阅读 · 3 评论 -
MQTT自学笔记(一)-特性与协议原理
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通信协议,有可能成为物联网的重要组成部分,该协议几乎支持所有的平台。最近正在学习这个,有一个写得很不错的博客给大家推荐一下,聂永的博客;http://www.blogjava.net/yongboy/。 博主这个博客写的简单是自学的笔记。不喜勿喷啊。MQTT的特点 MQTT原创 2017-03-28 11:55:03 · 3175 阅读 · 0 评论 -
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
前言:最近正好在工作中用到这部分,但是自己又不是很理解这部分,在网上搜集了很多这方面的资料,理解了不少,但是觉得这东西还是按照自己的理解写下来比较靠谱,所以就按照自己的理解总结了一番。 1. select()函数原始函数select函数用于在非阻塞中,当一个套接字socket或一组套接字有信号时通知用户时,系统提供select函数来实现多路复用输入/输出模型,原型:#include <sys/t原创 2017-04-05 12:18:22 · 4884 阅读 · 1 评论 -
回调指针回调函数的使用(C语言)
回调函数的使用回调函数在C语言中是通过函数指针来实现的,通过将回调函数的地址传给被调函数从而实现回调。因此,要实现回调,必须首先定义函数指针。1. 回调指针概念:指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了程序运行时的任何物件都可以用指针来指向它。函数是存放在内存代码区域内的,它们同样有地址,因此同样可以用指针来存取函数...原创 2017-07-21 15:59:05 · 11508 阅读 · 6 评论