![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机/mcu/soc/物联网
文章平均质量分 87
单片机开发的总结,很全面
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
lhh_qrsly
嵌入式领域软件和硬件知识分享
展开
-
Mqtt qs 消息可靠性分析
所以就无法得知之后到达的,携带了相同Packet ID的PUBLISH报文,到底是发送方因为没有收到响应而重传的,还是发送方因为收到了响应所以重新使用了这个Packet ID发送了一个全新的消息。以EMQX为例,在相同的硬件配置下进行点对点通信,通常QoS 0与QoS 1能够达到的吞吐比较接近,不过QoS 1的CPU占用会略高于QoS 0,负载较高时,QoS 1的消息延迟也会进一步增加。首先,发送方存储并发送QoS为2的PUBLISH报文以启动一次QoS 2消息的传输,然后等待接收方回复PUBREC报文。原创 2024-02-21 17:54:38 · 158 阅读 · 0 评论 -
MQTT协议讲解
MQTT协议详解一协议地址:http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html当然也有PDF版的,百度一下,不过个人感觉不是官网上的字体和排版最舒服。那么这个协议是用做什么或有什么特色呢?下面是mqtt.org上的首段介绍:It was designed as an extremely lightweight publish/subscribe messaging transport. It is usef转载 2022-03-07 18:26:30 · 400 阅读 · 1 评论 -
telnet 命令使用方法详解,telnet命令怎么用?
什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具。一旦入侵者与远程主机建立了Telnet连接,入侵者便可以使用目标主机上的软、硬件资源,而入侵者的本地机只相当于一个只有键盘和显示器的终端而已。为什么需要telnet? telnet就是查看某个端口是否可访问。我们在搞开发的时候,经常要用的端口就是 8080。那么你可以启动服务器,用telnet 去查看这个端口是否可用。Telnet协议是翻译 2020-10-25 21:36:06 · 3124 阅读 · 0 评论 -
MODBUS协议在STM32上实现 一
第一节 通讯的硬件协议机制 主从模式的建立目的:实现在modbus的从机实现1.硬件层协议 解决传输问题,相当于路2.软件层协议举例:例如RS232 发送1是多少V,发送0是多少V485协议这个硬件芯片是厂商做到一起的,一般需要有一根控制线用开判断是哪种模式 CAN硬件协议也是类似的1: 都是2.5V 没有压差0:一个1.5V,一个3.5V 有一个压差还有I2C,SPI 都是有自己的硬件协议,大同小异,都是一样的理解,很简单的大致说下单工半双工1.单工模式:方向只翻译 2020-10-17 17:51:49 · 3035 阅读 · 0 评论 -
UART协议讲解
UART使用的是 异步,串行通信。串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。数据传送速率用波特率来表示,即每秒钟传送的二进制位数。例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120..转载 2020-10-17 17:44:58 · 495 阅读 · 0 评论 -
STM32 实现 4*4 矩阵键盘扫描(HAL库、标准库 都适用)
本文实现的代码是基于STM32HAL库的基础上的,不过标准库也可以用,只是调用的库函数不同,逻辑跟配置是一样的,按我这里的逻辑来配置即可。1、键盘原理图:原理举例:先把 F0-F7 内部拉高,这样这个8个引脚都是高电平,然后就进行列扫描。例如:假如按下3按钮,Y3 列扫描,把F4先拉低,然后读取F0-F3的状态,就会读出为1110,这就可 以知道是F3行拉低了,同时这时候是程序控制F4拉低的,这样就可以知道是F4列导致它转态变化了的,这样就可以定位出是F4列F3行的按键按下了;其他的列也是这样子扫描翻译 2020-10-17 14:45:00 · 6569 阅读 · 9 评论 -
STM32 Cubemx 输出可调频率与占空比的PWM
这里就不对STM32的PWM进行讲解了,想要了解的可以百度一下,这里主要说怎么实现。1、建立工程,我选的是STM32F103zet6芯片,选择定时器的PWM功能 2、配置时钟,我这里配的是内部时钟,没有配外部时钟,而且不是最大时钟,有需要的可以自己改3、配置定时器,这里的话默认就可以,因为代码里面需要对配置的初始化代码进行修改的,而修改后才可以实现该功能4、生成代码后,修改代码,找到PWM初始化函数,修改为如下代码,注意要把初始化函数前面的 static 关键字也去掉,而且函数声明也要跟着修原创 2020-10-17 14:21:22 · 4061 阅读 · 2 评论 -
RS232和RS485主要区别
1、RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。2、RS-232采取不平衡传输方式,即所谓单端通讯.收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚(信号地)的电平。3、典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。4、针对rs232接口的不足,于是就原创 2020-10-17 14:07:45 · 289 阅读 · 0 评论 -
STM32 软件模拟 IIC 代码,标准库、HAL库可用
#ifndef _IIC_H#define _IIC_H#include "stdio.h"#include "stm32f1xx_hal.h"/* 定义控制 SDA SCL 的宏 标准库版#define I2C_SDA_UP GPIO_SetBits (GPIOC,GPIO_PIN_8) //SDA高电平#define I2C_SDA_LOW GPIO_ResetBits(GPIOC,GPIO_PIN_8) //SDA低电平#define I2原创 2020-10-17 13:48:24 · 2017 阅读 · 1 评论 -
STM32 在串口通信时简单模仿运用MODBUS协议
最近一个项目用到了MODBUS协议,就学习了一下,这里做一下记录以免后续忘记。要用到MODBUS肯定要先知道是MOBUS协议,这里呢我们就又要先理解协议的含义了。所谓的协议是什么?就是互相之间的约定嘛,如果不让别人知道那就是暗号。现在就来定义一个新的最简单协议。例如: 协议: “A”–“LED灭” “B”–“报警” “C”–“LED亮” 。单片机接收到“A”控制一个LED灭,单片机接收到“B”控制报警,单片机接收到“A”控制一个LED亮。那么当收到对应的信息就执行相应的动作,这就是协议。M原创 2020-10-17 13:41:36 · 949 阅读 · 1 评论 -
RS232通信协议详解
通信协议所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO’S OSI七层参考模型中的数据链路层。目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。一、物理接口标准1.串行通信接口的基本任务(1)实现数据格式化:因为来自CPU的是原创 2020-10-17 13:21:44 · 3803 阅读 · 0 评论 -
蓝牙4.0设计-CC2540的一些问题总结
蓝牙4.0设计 CC2540问:什么是蓝牙通信?答:蓝牙通讯最初设计初衷是方便移动电话(手机)与配件之间进行低成本、低功耗无线通信连接,现在已经成为IEEE802.15标准,得到全球上万家厂商支持。问:如果从事蓝牙开发有没有前途?答:严格地说,这不是一个技术问题,而是一个世界观问题。什么是前途?如果单纯是金钱,从事技术是不太可能暴富的(注意比尔.盖茨是个技术商人);如果想用你所能改善世界,这是可能的,毕竟蓝牙的主要用途是民用。附带说一句,考虑赚钱和改变世界是中国和西方人世界观的主要差别。翻译 2020-10-17 08:55:06 · 380 阅读 · 0 评论 -
通信协议里什么叫同步,什么叫异步?
同步与异步一般用通信异步就是发送信息后,发送者发送信息后,就不再管,发送者并不管接收者在不在线 ----------发短信就是异步同步就是发送者与接收者同步交流,一方退出,另一方也随之中断通信。。--------------如打电话。定义2有时钟信号的是同步,没有时钟信息的是异步。如:uart : 异步 I2C , SPI USB 同步原文:https://blog.csdn.net/h490516509/article/details/8翻译 2020-10-16 21:20:04 · 1354 阅读 · 0 评论 -
SPI协议详解
1、 SPI简介SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。2、 SPI特翻译 2020-10-16 21:08:34 · 353 阅读 · 0 评论 -
IIC总线协议理解
1 I2C总线物理拓扑结构I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。I2C通信方式为半双工,只有一根SDA线,同一时间只可以单向通信,485也为半双工,SPI和uart为双工。2 I2C总线特征I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个翻译 2020-10-16 18:13:26 · 178 阅读 · 0 评论 -
嵌入式CPU的体系架构
当我们谈及嵌入式处理器的体系架构时,一般都是想到Intel的X86架构和ARM公司的ARM架构。X86架构和ARM架构最大的不同点就是使用的指令集不同,前者使用的CISC指令集,后者使用的是RISC指令集,还有一点就是X86架构使用的是冯诺依曼结构,ARM架构既使用冯诺依曼结构,也使用哈佛结构(已经成了一种趋势)。何为架构?这两个字看起来很简单,不就是“骨架+结构”,但是个人觉得并不好理解。百度上把架构分为逻辑架构,物理架构和系统架构。对于处理器,当起发展到一定程度时,这种物理架构不会有很大的变化。以CPU翻译 2020-09-17 10:27:32 · 1506 阅读 · 0 评论