自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 段错误(Segmentation Fault)

段错误是程序试图非法访问内存的“保护性崩溃”,根源在于代码的逻辑错误。理解内存管理(栈、堆、常量区)和指针操作规则是避免段错误的关键。

2025-05-28 13:56:56 207

原创 BMP280调试记录

(IIR滤波器系数)

2025-05-08 11:28:26 679

原创 ADS127L01IPBSR调试记录

解释:假设芯片时钟频率为16.384MHz,如果选择512倍过采样,则实际采样率为32kSPS。low-latency filter(LL):低延迟滤波器。数据读取指令0001 0010,即0x12。DRDY/FSYNC:数据准备就绪。VLP:超低功耗模式;HR:高分辨率模式;

2025-05-07 10:17:15 223

原创 海凌科HLK-RM58D模块调试记录

在①处依次填入配置信息,会在②处生成对应的AT指令,模块进入at模式后可以之际提交配置,完成修改,也可将②处的AT指令复制下来,通过串口工具修改。注意:在调试中发现,在单独修改波特率后,虽然WiFi能连接成功,但是数据错乱,所以要修改波特率,需要将其他AT指令一同重新提交一遍。将串口连接到电脑后,打开配置软件。配置前,按原理图连接各个引脚。

2025-04-27 11:13:04 130

原创 【AD5245】【IIC接口】调试记录

(尺寸 2.9 mm × 3 mm)。该器件可替代机械电位器,具有高分辨率、固态可靠性、低温漂(45 ppm/°C)和低功耗(静态电流仅 8 μA)等优势。四种端到端电阻选项,采用。AD5245 是一款。

2025-04-27 10:32:12 143

原创 st-link is not in the DFU mode

Keil中使用stlink烧录代码时,提示需要更新驱动,点击更新后,提示:“ST LINK is not in the DFU mode plesse restart it”,重新拔插之后,还是同样的问题。

2025-03-20 15:04:02 743

原创 单总线协议(1—Wire bus)【DS2431】

1—Wire 协议定义了复位脉冲、 应答脉冲、写0、写1、读0和读1时序等几种信号类型。所有的单总线命令序列(初始化ROM 命令功能命令)都是由这些基本的信号类型组成的。识别单总线器件(ROM 命令)单总线器件交换数据(功能命令)初始化单总线器件(初始化)

2025-01-02 13:42:11 450

原创 char SendBuff[1000] = {0};memset((void *)SendBuff,0x20,10000);在C语言中,这样会有什么潜在风险

【代码】char SendBuff[1000] = {0};在C语言中,这样会有什么潜在风险。

2024-12-25 17:06:22 173

原创 【HAL库】STM32F105VCTx多通道ADC+DMA方式的【STM32CubeMX】配置及代码实现

使能连续转换模式 hadc1.Init.ContinuousConvMode = ENABLE;,程序才会一直进 DMA中断函数DMA1_Channel1_IRQHandlerADC校准可以使ADC采集值和 Vref参考值(基准电压)接近。但是f4系列不支持。/* 校准ADC */

2024-11-13 13:53:43 416

原创 【HAL库】STM32F427ZGTx多通道ADC+DMA方式的【STM32CubeMX】配置及代码实现

【代码】【HAL库】STM32F427ZGTx多通道ADC+DMA方式的【STM32CubeMX】配置及代码实现。

2024-11-13 13:52:06 319

原创 c语言中标签的用法

尽管C语言允许使用标签,但现代编程实践通常建议限制goto语句的使用,并优先使用结构化控制流(如循环和条件语句)来组织代码。switch语句中的case和default标签是处理多分支条件的合法且有用的方式。

2024-09-01 15:28:57 1127

原创 变量声明和变量定义的区别

变量定义通常放在**.c文件**中。这是因为定义变量时,编译器需要为变量分配内存,而这应该在源文件中进行,以便在编译时有具体的实现。定义通常不会出现在头文件中,因为头文件是为了声明和共享接口,而不是定义实现。示例(在file1.c// file1.c// 定义变量2. 变量声明变量声明通常放在**.h文件**中,尤其是当你需要在多个源文件中共享这个变量时。在头文件中使用extern关键字声明变量,可以让其他源文件知道这个变量的存在,并且在编译时能够正确链接到定义。示例(在file1.h。

2024-09-01 12:53:12 631

原创 结构体struct的大小计算

所以对于 S1 结构体大小为 2*3=6,至于为什么第二个 char,多的那个字节不丢到,就是遵循第三个原则,就是结构体大小结果要为成员中最大字节的整数倍。而对于 B,先不要管 A a,也就是先去掉 A a 成员结构体 B 算出其为 8,所以最后结果为 8+16=24;再看一个:就是当结构体成员变量是另外一个结构体时,只要把结构体中成员为另一结构体作为整体相加就行。因为 int 占 4 个,而 char 已经占了一个,不够,所以那三个只能多余占位。注意: 为什么 仅仅改变了结构体成员的顺序,结果不一样?

2024-08-06 18:52:30 596

原创 在C语言中,联合体或共用体(union )是一种特殊的数据类型,允许在相同的内存位置存储不同的数据类型。

在C语言中,union是一种特殊的数据类型,允许在相同的内存位置存储不同的数据类型。这意味着union中的所有成员共享同一块内存空间,因此它们之间会相互覆盖。在你给出的union由于union的特性,这三个成员中的任何一个都可以被存储在union分配的内存空间中,但一次只能存储一个成员的值。这意味着,如果你给type_16赋值,那么type_u8和type_u16的值将会变得不可预测(因为它们共享相同的内存位置),反之亦然。

2024-08-06 18:03:10 340

原创 AD7606采集控制

过采样:其效果就是在ADC之后增加数字滤波器的功能。

2024-07-25 00:18:14 395

原创 结构体(struct)和枚举(enum)有什么区别

通常用于表示一组相关联的数据,如表示一个学生的信息(姓名、年龄、成绩等)或者表示一个车辆的属性(品牌、颜色、型号等)。- 结构体是一种用户自定义的数据类型,允许你组合多个不同类型的变量(成员变量)到一个单独的数据结构中。- **访问方式**:结构体的成员变量可以单独访问和修改,枚举常量一般作为整数常量使用,不可修改。- **用途不同**:结构体用于组合多个不同类型的变量,枚举用于定义一组有意义的常量。- **成员类型**:结构体的成员可以是任意数据类型,枚举的成员是整数常量。

2024-07-14 19:44:19 885

原创 进制数相关

在数据面前加前缀表示不同的进制数。不同进制数的输入和输出。

2024-07-14 12:20:04 191

原创 IIS接口协议

I2S = Inter-IC Sound = Integrated Interchip Sound = IIS,是飞利浦在1986年定义(1996年修订)的数字音频传输标准,用于数字音频数据在系统内器件之间传输,例如编解码器CODEC、DSP、数字输入/输出接口、ADC、DAC和数字滤波器等。在WS变化后的第一个SCK脉冲,IIS协议定义三根信号线:时钟信号SCK、数据信号SD和左右声道选择信号WS。SCK:模块内的同步信号,从模式时由外部提供,主模式时由内部产生;√ WS=1,表示选择右声道。

2024-07-11 00:42:57 1205

原创 三极管相关

当p型半导体一边接正极、n型半导体一边接负极时,则为正偏,反之为反偏。

2024-07-08 13:19:55 274

原创 电源纹波相关

什么是纹波?什么是噪声?这种叠加在直流稳定量上的交流分量就称为纹波。

2024-07-07 21:01:19 291

原创 PCB常见布线规则总结

PCB板上预划分数字、模拟、DAA信号布线区域。 数字、模拟元器件及相应走线尽量分开并放置于各自的布线区域内。 高速数字信号线走线尽量短。 敏感模拟信号走线尽量短。

2024-07-05 08:54:17 708

原创 Keil编译错误总结

将不能打开的文件所在路径按图中步骤添加到路径即可。

2024-04-23 13:12:02 2125

原创 AD17原理图模块化设计时修改子图名称后和总图失去联系

此时只需要将总图中,对应已修改的子图的框图的名称改为和子图一样即可,改完记得重新编译工程。

2024-03-08 16:49:53 440

原创 陶瓷气体放电管防雷管

陶瓷气体放电管是防雷保护设备中应用最广泛的一种开关器件,串联于线路中,可用在交直流电源、各种信号电路的防雷,都可以用它来将雷电流泄放入大地。它是把一对放电间隙封装在充以放电介质(惰性气体)的陶瓷管中构成的。按电极数分,有二极放电管和三极放电管(相当于两个二极放电管串联)两种。其外形为园柱形,有带引线和不带引线两种结构形式(有的还带有过热时短路的保护卡)

2024-03-08 16:07:52 1123

原创 漏电保护插头

这是一个漏电保护电路。1.按下脱扣线圈220 V电路导通,经过桥式整流电路给监控芯片供电,监控芯片开始工作,监控互感器的电流。2.按下测试开关K1,K1所在电路导通,此时零线和火线经过互感器的电流不相等,互感器感应到后输出电压到监控芯片的输入检测引脚,经过芯片内部电路放大锁存后到输出控制引脚,激活SCR门极使SCR导通,使脱扣线圈通电,利用电磁线圈原理弹开开关,将220V电路断开。SCR(硅控整流器,可控硅)ZCT零序电流互感器。

2024-03-06 23:16:06 368

原创 单片机中SPI的速度设置

以STM32F042F6P6为例,最高主频为48MHz,除以SPI的分频系数就是SPI的时钟频率。下图是拿示波器打SPI时钟线SCLK测到的信号。

2024-02-05 12:01:38 1071

原创 关于示波器的使用

CURSOR,光标:用来测量波形的指示光标,有垂直和水平两个方向,比如要手动测量一个波形的幅值或者周期,就将两个光标调整到合适的位置,示波器会给出对应的值。measure,测量:一般用来调出波形的基础参数,比如峰峰值、最大值、最小值、幅度、频率等参数。horizontal position:调整波形的水平方向的位置,即波形左右移动;vertical position:调整波形的竖直方向的位置,即波形上下移动;),触发类型(边沿、脉冲宽度),触发源(通道一、通道二);有波形,锁定不了位置的时候使用、

2024-02-05 11:54:39 1813

原创 关于字节(Byte)和位(bit)的换算和常见的数据传输

1kBps=8kbps即1kByte/s=8kbit/s?B=Byte(字节),b=bit(位)per second即每秒。

2024-02-04 11:45:32 653

原创 stm32CubeMX,配合Keil,使用HAL库进行串口通信

在usart.c文件中添加以下函数//重定向printf1至uart4的demo在usart.h文件中添加以下两个头文件和prinf1函数的声明然后即可在main.c中调用printf1()函数。记得在main.h文件中加上#include "usart.h"的头文件。while (1)!!\r\n");//低电平点亮绿灯编译,下载到板卡,运行成功!!!

2024-01-09 20:57:10 1147

原创 使用keil5IDE调试时,C语言调试技巧汇总

如果后面的代码比其他代码呈现浅灰色,说明宏定义没有被声明,或者没生效,而且通过更进选项(go to definiton)也找不到定义的位置;反之,颜色应该和其他代码一致,并且可以更进到定义的位置。#if和#endif的匹配。

2024-01-09 19:36:44 584

原创 keil工具使用总结

edit。

2024-01-04 15:16:03 4054 1

原创 keil5调试工具选择界面选项注意事项

在选择好调试工具后,要点开Settings选项卡,根据接口选择JTAG模式或者SWD模式。点开后如下图,根据目标板卡的接口选择JTAG或者SW。

2024-01-04 14:38:08 655

原创 FPGA的几种下载模式对比

sof掉电丢失jic掉电不丢失。

2023-12-04 11:22:37 221

原创 推挽输出(Push-Pull)和开漏输出(Open-Drain)

概念推挽(push-pull)输出是由两个MOS或者三极管组成,两个管子始终保持一个导通,另一个截止的状态。不需要上拉电阻,不可“线与”,不可电平转换,推挽电路输出高电平时叫推,是拉电流;推挽电路输出低电平时叫挽,是灌电流;

2023-10-26 17:29:31 2307

原创 多位数码管

当多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线(a-dp)全部是连接在一起的,即是共享的(所以多位数码管可以静态显示,但是显示时要么只显示一位数码管,要么多位同时显示相同内容),独立的公共端可以控制多位一体中的哪一位数码管点亮,而连接在一起的段线可以控制这个能点亮数码管亮什么数字,通常我们把公共端(共阳或共阴)叫做“位选线”。如图中的1H和2H,就是位选线,图中为共阴数码管,所以这两个位选线为低电平,哪个数码管就会点亮,如果都是低电平,则都会亮。单位数码管引脚示意图。

2023-10-26 15:16:08 475

原创 数字电路常用逻辑门符号

2023-10-23 16:07:51 1372

原创 51单片机16位计数器初值计算(重装载定时器)

CPU执行一条指令所需要的时间称为指令周期,它是以机器周期为单位的。通常,包含一个机器周期的指令称为单周期指令,比如 MOV指令,CLR指令等。:在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。一个状态周期等于两个时钟周期。机器周期=6个状态周期=12个时钟周期。最大定时时间=(时钟周期*12)*65536=65.536ms(65536为16位计数器得到,即2^16=65536)时钟周期是单片机的基本时间单位,两个振荡周期(时钟周期)组成一个状态周期。

2023-10-21 15:51:42 1166

原创 51单片机特殊编程

* SCON */这是在声明一个位变量,这个变量的名字是SM0,并且它被初始化为SCON寄存器的第7位。在C语言中,'sbit'是Keil C51编译器的一种特性,用于访问特定的位。这个声明用于直接访问和控制某个特定的位,而不必关心或直接操作那个位的其余部分。这使得代码更简洁,更易于理解和维护。这里,'SCON^7'表示SCON寄存器的第7位。'^'是按位异或运算符,但在这里它被用作位域的标记,表示我们关心的是这个位。实际上,这个表达式的结果总是等于它自身第7位。

2023-10-20 15:53:07 966

原创 AT89S51和STC89S51下载方式的区别

宏晶国产STC单片机则具有串口ISP功能,可直接使用串口,将程序下载进单片机。即将USB转TTL的TXD接单片机的RXD,RXD接单片机的TXD。STC系列的单片机在上电的时候会执行在ISP FLASH的ISP程序。只要在串口上收到连续的0x7F,便会进入ISP模式。所以STC单片机下载程序时,需要先在计算机端程序中点下载,然后给单片机通电。另外STC单片机需使用宏晶专用的单片机下载程序STC-ISP下载。AT89S51系列单片机的ISP下载是通过P1^5、P1^6、P1^7、RST引脚来下载的,

2023-10-18 11:34:08 505

原创 Altium Designer PCB开窗(去除阻焊层)

在PCB界面选择Top/Bottom solder层,选这画线工具(不是布线),画需要开窗的走线。开窗效果如下图所示。

2023-10-13 11:46:22 8071

STC-ISP下载器驱动和软件

STC-ISP下载器驱动和软件

2023-10-18

USBASP下载器驱动和软件

USBASP下载器驱动和软件

2023-10-18

空空如也

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

TA关注的人

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