自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式开发者必备资料库 【完全免费】

🔗 访问链接:点击链接即可加入「【嵌入式学习菌】资料3群」网盘群:https://pan.baidu.com/j/1nuvgVPLlpk。我们为大家准备了一份丰富的嵌入式资料网盘,涵盖了单片机、Linux系统、硬件设计等多个领域的优质资源,助力你的学习和项目开发!欢迎大家积极分享自己的学习心得和项目经验!如果你有其他有价值的资料,也可以随时上传到网盘,与大家共同进步。让我们一起探索嵌入式世界的无限可能,提升技能,推动创新!亲爱的嵌入式开发爱好者们,相关工具和软件的使用指南。驱动开发和系统优化技巧。

2024-08-29 22:48:52 873 1

原创 【无标题】

数据域:44 33 33 33 33 33(处理步骤:每个字节减掉0x33,分别为11 00 00 00 00 00,代表设备地址 00 00 00 00 00 11)地址域:11 00 00 00 00 00(6字节,低位在前,表示电表地址00 00 00 00 00 11)。地址域:11 00 00 00 00 00(6字节,低位在前,表示电表地址00 00 00 00 00 11)。地址域:11 00 00 00 00 00(设备地址 00 00 00 00 00 11)。

2025-03-30 21:33:28 948

原创 CMLINK APN 手动设置

以下是针对的cm.comcmlink.comcmlink234460300002。

2025-03-27 22:21:51 386

原创 电力系统中各参数的详细解释【智能电表】

将不同费率时段(费率1~4)的用电量按策略组合后的总电能,常用于分时计费或阶梯电价统计。

2025-03-09 21:35:06 1070

原创 STM32单片机时钟系统

在STM32中有3种不同的时钟源用来驱动系统时钟(SYSCL为什么提供这么多的时钟?节能!高速设备接高速时钟,低速设备接低速时钟,可以最大程度的达到节能效果。

2025-02-25 22:11:08 693

原创 【报数游戏】

题目要求在100个人围成一圈的情况下,进行报数,每次报到数字为M的那个人自动退出,直到剩下的人数少于M为止。我们需要找出最后剩下的人的编号。他们从1开始依次报数,报到为M的人自动退出圈圈,然后下一个人接着从1开始报数,直到剩余的人数小于M。如果输入参数M小于等于1或者大于等于100,输出“ERROR!100个人围成一圈,每个人有一个编码,编号从1开始到100。否则按照原先的编号从小到大的顺序,以英文逗号分割输出编号。请问最后剩余的人在原先的编号为多少?题目描述的是一个经典的。输入一个整数参数 M。

2025-02-25 11:17:27 414

原创 TLV解码

编码是按[Tag Length Value]格式进行编码的,一段码流中的信元用Tag标识,Tag在码流中唯一不重复,Length表示信元Value的长度,Value表示信元的值。现给定TLV格式编码的码流,以及需要解码的信元Tag,请输出该信元的Value。码流以某信元的Tag开头,Tag固定占一个字节,Length固定占两个字节,输入的第二行为一个字符串,表示待解码的16进制码流,字节之间用空格分隔。给定一个16进制的码流和要查找的Tag值,要求找到对应Tag的。需要解析的信元的Tag是31,

2025-02-24 18:57:16 609

原创 3、优先级翻转问题

是当高优先级任务因等待低优先级任务占用的资源(如互斥锁)被阻塞,而中优先级任务趁机执行,导致高优先级任务无法及时运行的调度异常。:存在三个任务,优先级从高到低为。:Task_L 和 Task_H 都需要访问某个共享资源(如互斥锁MutexTask_L 获取Mutex,开始操作共享资源。Task_H 就绪,尝试获取Mutex,但发现已被占用,因此被阻塞。此时,Task_M(中等优先级)开始运行,抢占 Task_L。Task_L 因被 Task_M 抢占,无法及时释放Mutex。

2025-02-23 22:30:59 371

原创 1、FreeRTOS基础知识

FreeRTOS 默认使用的,对的任务执行只有就绪态可转变成运行态,其他状态的任务想运行,必须先转变成就绪态。

2025-02-20 21:55:18 379

原创 【liunx发行版的数量】

给你一个 n * n 的矩阵 isConnected,其中 isConnected[i][j] = 1 表示第 i 个发行版和第 j 个发行版直接关联,而 isConnected[i][j] = 0 表示二者不直接相连。发行版集是一个或多个相关存在关联的操作系统发行版,集合内不包含没有关联的发行版。所以存在两个发行版集,发行版集中发行版的数量分别是3和1,所以输出3。Mint(3)和Ubuntu(2)相关,返回最大的发行版集中发行版的数量。输出最大的发行版集中发行版的数量。第一行输入发行版的总数量N,

2025-02-19 22:32:11 80

原创 [IPV4地址转为整数]

现以字符串形式给出一个虚拟IPv4地址,限制第1小节的范围为1128,即每一节范围分别为(1128)#(0255)#(0255)#(0~255),要求每个IPv4地址只能对应到唯一的整数上。每个小节代表一个整数,范围从0到255,但题目中特别指出第一小节的范围应为1到128。128#0#255#255,转换为32位整数的结果为2147549183(0x8000FFFF)1#0#0#0,转换为32位整数的结果为16777216(0x01000000)输入一行,虚拟IPv4地址格式字符串。

2025-02-19 21:29:31 293

原创 【AI面板识别】

AI识别到面板上有N(1 ≤ N ≤ 100)个指示灯,灯大小一样,任意两个之间无重叠。描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2,y2),由于AI识别误差,每次别到的指示灯位置可能有差异,以4个。

2025-02-18 22:25:15 486

原创 常见的排序算法:插入排序、选择排序、冒泡排序、快速排序

步骤:1.从第一个元素开始,该元素可以认为已经被排序2.取下一个元素tem,从已排序的元素序列从后往前扫描3.如果该元素大于tem,则将该元素移到下一位4.重复步骤3,直到找到已排序元素中小于等于tem的元素5.tem插入到该元素的后面,如果已排序所有元素都大于tem,则将tem插入到下标为0的位置6.重复步骤2~5C语言实现:2、选择排序步骤:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直

2025-02-12 16:54:03 1436 2

原创 sizeof和strlen的区别

str字符数组使用"hello bit"初始化,最终也会将'\0'放置到数组中,因此数组中总共有10个元素。3.strlen是计算字符串长度的,遇到\0结束,返回不包括\0,即如果没有\0则会计算出随机值;sizeof(str):获取数组的总大小,10个元素,每个元素占1个字节,因此总共是10个字节。strlen(str): 获取字符串中有效字符的个数,不算'\0',因此总共9个有效字符。对于sizeof来说,使用时不加()也是正确的,这样也可以说明sizeof不是函数。

2025-02-10 20:09:34 754

原创 C语言中常见关键字(static,extern)

/ 错误:无法访问file1.c中的static全局变量。// 静态全局变量,仅在file1.c中可见。(生命周期),使其从自动存储期(函数调用结束后销毁)变为静态存储期(程序运行期间一直存在)。当你有一个全局变量定义在一个文件中,并希望在另一个文件中访问它时,你可以使用。其他源文件无法访问该变量。:用于限制全局变量的作用域,避免其他文件访问,增强模块化。// 输出: Count: 1。:仅限于定义它的源文件(文件作用域)。:与程序的生命周期相同(静态存储期)。:与程序的生命周期相同(静态存储期)。

2025-02-10 16:15:10 1148

原创 I2C协议—读写EEPROM(24Cxx为例)

2.模拟I2C 是通过GPIO,软件模拟寄存器的工作方式,而硬件(固件)I2C是直接调用内部寄存器进行配置。可以看IIC写函数,看里面有木有调用现成的函数或者给某个寄存器赋值,如果有,则肯定是固件IIC功能,没有的话肯定是数据一个bit一个bit模拟发生送的,肯定用到了循环,则为模拟。可以看底层配置,比如IO口配置,如果配置了IO口的功能(IIC功能)那就是固件IIC,否则就是模拟。硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用。一般使用软件模拟IIC,,可移植性高。

2025-02-08 23:12:01 412

原创 嵌入式软件面试题

2、长按开关KEY1,要求控制LED灯闪烁(亮1S,灭1S),闪烁状态下,短按开关KEY1,LED灯关闭。1、短按开关KEY1,要求LED灯点亮,再次短按开关KEY1,要求LED灯关闭。1、计算K1,K2和K1,K2同时按下时AD端口的电压值和对应的AD值。// 如果LED正在闪烁,则关闭LED。3、实现短按K1控制LED灯亮(闪烁),再次短按K1控制LED灯灭;// 切换LED状态(慢闪、快闪、长亮之间顺序切换)其中 慢闪(亮1秒,灭1秒),快闪(亮0.5秒,灭0.5秒)。

2025-02-06 14:18:04 858

原创 C语言格式输出

f 输出,前面不指定小数位数的,就补足 6 位小数。前面指定小数位数的,按照指定小数位数输出。前面是整数的,就是没指定小数位,只指定了总宽度。10f 就输出总宽是 10(包括符号,小数点,数字),不够在前面补空格。不足的左边补空格,所以输出为: 123(这里前面有两个空格)。小数三位,整个数为 5 位(其中小数点也算一位),所以输出结果为:1.660。因为输出的部分有三位数,但是要求的有两位,所以原样输出为:123;小数 1 位,整体三位(此时要进行四舍五入),所以输出为:1.7。

2025-01-02 21:47:46 332

原创 翁凯C语言学习记录

链接: https://pan.baidu.com/s/1wn1rsTuoqOk8bFnQS7E4rg 提取码: pswx。通过网盘分享的文件:翁凯C语言详细笔记资源.pdf。

2025-01-02 19:45:36 244

原创 C语言(五子棋)带注释格式

【代码】C语言(五子棋)带注释格式。

2025-01-02 16:21:29 243

原创 C语言设计五子棋

【代码】C语言设计五子棋。

2025-01-01 21:24:36 124

原创 从头开始学习,做嵌入式真的太失败了

菜鸟C语言经典100例。

2024-12-31 15:45:15 190

原创 交流充电桩和直流充电桩

直流充电桩:由于直流充电桩具有较高的充电功率,通常在60kW以上,其他也有30kW、120kW、160kW、360kW、380kW等规格,超级充电桩甚至可以达到800kW,因此充电速度较快。这种方式的充电速度相对较慢,但对电池的损耗较小。交流充电桩:交流充电桩适合安装在小区、停车场等场所,满足日常充电需求,尤其适合夜间充电,因为用户可以在夜间充电,第二天使用车辆时电池已充满。1. 成本较低:由于交流充电桩的转换器简单,且主要的电力转换在车载充电器内部完成,所以相比直流充电桩,交流充电桩的造价更低。

2024-11-11 23:18:51 709

原创 USB电路设计

USB电路,在我们的平时的应用十分的广泛,常见的鼠标,键盘、显示屏的触摸功能等,对外的接口均使用的是USB接口。同样的,USB 3.0的5V电源也需要与板载的5V电源隔离,也需要使用电源开关,TPS2065CDGN允许通过的最大电流为1A,USB 3.0的最大电流为900mA,在此处同样适用。分析:当USB两端均对外提供5V电源,且电压存在微小的电压差,由于导线的电阻很小,通过欧姆定律可知:当电压为固定值,电阻无穷大时,电流将会趋近+∞。USB的USB_ID引脚,可用于识别Host和Device。

2024-11-08 10:08:24 943

原创 CAN通信电路设计

在工业控制领域中,CAN通信的应用是非常广泛的,其通信的原理也比较简单,具体的过程:总线上的节点向其它节点发送数据时,传递的信息将会以报文的形式在总线上进行广播,总线上的每个节点在接收到数据之后,会根据过滤器来接收自己需要的报文。CAN通信是一种异步通信的方式,并不依赖于时钟进行通信,这种通信的方式对外部的电磁干扰是高度免疫的,主要是因为两条总线使用的是差分通信的方式,可以抑制共模干扰,且外部使用的是屏蔽双绞线,对于同一干扰源,对两条总线的干扰时相同的,故可抵消。为120Ω,目的是为了较少信号的反射。

2024-11-08 00:45:25 878

原创 DCDC与LDO的区别

LDO 是一种线性稳压器,使用在其饱和区域内运行的晶体管或场效应管(FET),从应用的输入电压中减去超额的电压,产生经过调节的输出电压。相比LDO稳压器,DCDC的优点是输入电压范围宽、功耗低、效率高(可达90&以上)、支持降压、升压(Boost)、反相等变换,且支持大电流的输出,还支持输入输出端的隔离;LDO的应用设计简单,除了输入、输出端加上滤波电容,或者输出端增加并联电阻做假负载外,不需要其他外围器件;比如,输入电压Vin为12V,输出电压Vout为3.3V,计算得出效率η=27.5%,效率很低。

2024-11-06 23:14:55 1425

原创 LDO电路分析

• LDO 调整器的精度是指线路调整率( ΔV LR )、负载调整率( ΔV LDR )、参考电压漂移( ΔVo , ref )、误差放大器电压漂移( ΔVo , a ),外部采样电阻容差( ΔVo , r )和温度系数( ΔV TC )的所有影响。• Dropout 电压和静态电流必须足够小, LDO 才能有比较高的效率,另外,由于 LDO 调整器的功耗 受到输入-输出电压差的影响,所以输入-输出电压差必须减小,效率才能提高。LDO是线性电源的一种,它可以实现电源电压的转换,不过主要用在降压领域。

2024-11-06 23:00:37 1644

原创 基本开关电源(DCDC)电路分析

经过一定时间后,控制电路脉冲为低电平,开关管关断,此时没有电流流向电感,电感电流慢慢减少,这时电感L1两端产生右端正左端负的感应电动势阻碍电流下降,从而使D1正向偏置导通,于是L中的电流经D构成回路,电流值逐渐下降,L中储存的磁能转化为电能释放给负载R1。下图为Buck电路的最基本拓扑,从左至右包括电源,开关管Q1,续流二极管D1,储能电感L1,输出滤波电容C1及负载电阻R1。下图为Buck电路的最基本拓扑,从左至右包括电源,开关管Q1,储能电感L1,二极管D1,输出滤波电容C1及负载电阻R1。

2024-11-06 18:57:51 3702 4

原创 串口中断 发送字节数

这是因为在网络传输的时候为了区别一个字节的开始和结束需要在每个字节前加一位0,后面加一位1。奇校验时数据位和校验位中1的总数应为奇数,同理,偶校验时数据位和校验位中1的总数应为偶数;串行通信是一种将需要传输的数据由低位到高位一位一位地在一条传输线上逐个传输的通信方式。串口模式下,若波特率是9600,1秒种只能传送9600/10=960Byte数据,而不是9600/8=1200Byte数据。首先来了解一下串行通信的数据格式,如下图所示,串行通信的一帧数据由起始位、数据位、校验位以及停止位组成。

2024-11-06 18:22:46 259

原创 电源常用电路:采样电路

ADC(模数转换器)采样是将模拟信号按照一定的采样频率进行离散化,然后转换为数字信号的过程,通常包括采样、保持、量化和编码四个步骤。采样主要实现模拟信号的离散化处理,即将连续的模拟信号转换为一系列时间间隔相等的模拟信号。采样的间隔由采样频率决定,频率越高采样得到的信号越接近原始信号。但较高的采样频率会使得数据量增加,同时对系统的转换速度要求变高。一般选择采样频率为原始信号最高频率的3-5倍。

2024-11-02 23:16:41 2385

原创 串口通信标准RS232 RS485 RS422的区别

通信能力:RS-485 接口在总线上是允许连接多达128个收发器,用户可以利用单一的 RS-485 接口方便地建立起设备网络。1、RS-422有4根信号线:两根发送(T+、T-)、两根接收(R+、R-)。由于RS-485的收与发是共用两根线,所以不能同时收和发(半双工)。RS232: 逻辑”1” : -3V ~ -15 V;RS485: 逻辑”1” : +2V ~ +6 V;逻辑”0” : -2V ~ -6 V。RS422: 逻辑”1” : +2V ~ +6 V;逻辑”0” : -2V ~ -6 V。

2024-10-27 18:08:23 1055

原创 SPI通信---------Flash(W25Q16芯片)

关于读写和擦除的介绍,首先是读(0X03),当主机发送一个读内存的命令之后,芯片就会根据读的起始地址,然后只要产生时钟信号,就会一直往下读,理论上如果产生足够多的时钟信号,一次可以把整个芯片所有的内容读完;接着是擦除(0X20),因为FLASH规定的特性,芯片存储的电平只能从高电平转成低电平,所以每次需要写的时候都需要对相应写的空间地址进行擦除,可以是按扇区或者按块进行擦除(目前实现的是按扇区进行擦除),擦除完之后才可以进行写入;而扇区和块,目前主要我是在擦除的时候用到了,代码实现是按一个扇区擦除的。

2024-10-26 23:47:29 1300

原创 I2C芯片24C02/4/8/16(EEPROM)

---------------------------------------------------转载-----------------------------------------------------------------------写到页边界时,要继续写下一页或其它页,必须产生一个停止信号,然后再产生一个开始信号,接着由主机传送目标页的地址,以开始在目标页的写操作。A2------IIC片选地址或者是页码地址,下面会详细说明各个芯片的作用。VCC-----1.8~5.5V 宽电压。

2024-10-26 16:28:26 1390 2

原创 总结SPI、I2C、UART三者的区别

然而,由于每个数据位需要独立的信号线,因此并行传输会增加所需的物理连接数目和线路复杂性,尤其在距离较远时会更加复杂。数据的传输速率是根据时钟信号的频率来确定的,发送方和接收方都严格按照时钟信号的边沿来进行数据的采样和发送。在串行传输中,数据位逐个按照一定的顺序进行传输,每一位数据都需要依次传输完毕,然后再传输下一位数据。串行传输的优势在于可以减少所需的物理连接数目,适用于较长距离传输和对线路复杂性要求较低的场景。发送方和接收方可以交替地发送和接收数据,但在任何给定的时间内,只能有一个方向上的传输。

2024-10-26 11:08:53 1888

原创 RS485通信电路图(3种常见的电路)

意思是说,已经确定好发送状态,电路发送‘1’此时RE有效,接收有效但有由于它处于发送阶段,此时芯片会处于高阻状态。当发送‘1’时,此时三极管导通,按理说RO使能,此时由于还处在发送数据中,这种状态下MAX485处于高阻态,此时的状态通过A上拉B下拉电阻决定,此时A-B>0传输‘1’,完成高电平的传输。: 默认没有数据时,UART_TX为高电平,三极管导通,MAX485芯片RE低电平使能,RO接收数据使能,此时从485AB口收到什么数据就会通过RO通道传到MCU,完成数据接收过程。

2024-10-20 19:53:16 3696

原创 单片机常见的存储器

为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新一次,所以一般会给他配一个扫描电路,每隔一段时间就扫描数据并给他补电,如果存储单元没有被刷新,存储的信息就会丢失。它的作用是当开机后系统运行占一部分外,剩余的运行内存越大,手机速度越快,运行的程序越多,剩余越少。静态随机存取存储器(Static Random Access Memory,SRAM)是随机存取存储器的一种,所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。速度非常快,一般用在电脑的CPU,高速缓存。

2024-10-18 21:50:30 703

原创 晶体与晶振的区别

有时,晶体被称作无源晶体,而晶振被称作有源晶体,这种称呼方式凸显了两者在电源需求上的差异。晶振,与晶体相比,是一个更为完整的解决方案,因为它内部已经包含了必要的振荡电路。当考虑晶体在电路中的应用时,其主要作用是提供一个稳定、准确的时钟信号。晶体则是无源晶振的简称,也叫谐振器。:对于需要频率控制的应用,如使用压控振荡器(VCXO)的场景,晶振可以提供一个简单的。:晶体与芯片内部的振荡电路相结合,可以为整个系统提供一个稳定的时钟信号。:晶振通常能够提供比基本的晶体更高的精度和稳定性,特别是在宽温度范围内。

2024-10-17 23:51:11 1145

原创 STM32 JTAG 模式和 SWD 模式的区别详解

SWD 模式:由于是串行接口,速度可能比 JTAG 略慢,但在许多应用中速度足够,现代 SWD 实现已经优化到接近 JTAG 的速度,满足大多数调试和编程需求。功能:SWD 是一种简化的调试接口,仅提供调试和编程功能,不支持 JTAG 的全部功能(如边界扫描),适合资源受限的应用或小型设备。简单性:由于仅需 2 根信号线,连接简单,占用的引脚少,布线更为简洁,适合在空间和引脚受限的应用中使用。复杂性:由于需要更多的引脚和复杂的连接,通常用于开发板和较大的嵌入式系统,调试功能强大但连接复杂。

2024-10-17 23:34:49 1446

原创 推挽输出和开漏输出的区别(包括复用功能)

具体用复用开漏输出还是复用推挽输出,这个就要根据外设需求来设置,例如IIC在使用时需要用到线与特性,就必须在程序里配置IO引脚为复用开漏输出;然而,需要注意的是,推挽模式的驱动能力有限,通常只适合驱动低功率的负载,如LED灯或小型继电器。当输出高电平时,N沟道晶体管导通,P沟道晶体管截止,电路输出接近地线。当晶体管关闭时,输出端是悬空的,需要外部上拉电阻连接到高电平,以确保输出端能够达到高电平状态。通用数字输出:推挽模式适用于通用的数字输出场景,因为它可以输出确定的高低电平而不需要外部电路的辅助。

2024-10-12 21:33:10 1992

原创 STM32电源框图解析<VBAT、VDDA、VSSA、VDD、VSS等引脚>

STM32 的工作电压( VDD )为2.0~3.6V,通过内置的电压调节器提供所需的 1.8V 电源,当主电源 VDD 掉电后,通过VBAT 脚为实时时钟( RTC )和备份寄存器提供电源。所谓的 “电池” 就是我们可以在我们的开发板上肉眼看到的 纽扣电池。,挑选的芯片需要引出的引脚有 VBAT、VDDA、VSSA、VDD、VSS 这些用作供电的引脚,然后了解了一下他们各自的功能。为了提高转换的精确度,芯片上的 ADC 有一个专门供 ADC 自己使用的独立电源,过滤和屏蔽来自印刷电路板上的毛刺干扰。

2024-10-12 20:53:51 1145

逆变器协议派能逆变器协议 485协议

逆变器协议派能逆变器协议 485协议

2024-10-15

气体传感器规格书-立创商城

气体传感器规格书-立创商城

2024-01-15

CAN Test V2.53软件使用说明

CAN Test V2.53软件使用说明

2023-11-03

ch704200霍尔传感器规格书

ch704200霍尔传感器规格书

2023-10-13

嵌入式C与数据结构实战入门

嵌入式C与数据结构实战入门

2023-07-27

Modbus Slave和Modbus Poll的使用说明

Modbus Slave和Modbus Poll的使用说明

2023-07-24

嵌入式软件工程师面试宝典

嵌入式软件工程师面试宝典

2023-04-01

空空如也

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

TA关注的人

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