- 博客(275)
- 资源 (16)
- 收藏
- 关注
原创 定时器相关概念
定时器是微控制器(MCU)中的硬件模块,用于等。T_{中断} = \frac{(PSC + 1) \times (ARR + 1)}{F_{CLK}}掌握定时器的配置与计算,可覆盖绝大多数嵌入式实时控制场景!
2025-05-18 19:46:56
394
原创 STM32的ADC模块中,**采样时机(Sampling Time)**和**转换时机(Conversion Time),获取数据的时机详解
在STM32的ADC模块中,**采样时机(Sampling Time)转换时机(Conversion Time)**是ADC工作流程中的两个关键阶段,直接影响采样精度和系统实时性。
2025-05-16 19:59:03
1020
原创 捕获输入引脚的频率代码实现,测试可用
下面是一个使用STM32F103RET6标准库实现的四路频率采样程序,使用PA6、PA7、PB0、PB1作为输入引脚,采样200-1000Hz频率范围。我们将使用定时器输入捕获功能来实现频率测量。
2025-05-16 19:03:47
789
原创 检测按键抖动的时间
在使用示波器测量KEY1按键消抖时间时,示波器的接地夹应连接到电路的公共地 ,示波器的测试针(探头)应连接到KEY1引脚 ,也就是图中标识为“KEY1”的线路上,这样就能通过示波器观察按键按下和松开过程中该引脚的电平变化情况,进而测量消抖时间。
2025-05-15 18:02:43
128
原创 堆(Heap)、栈(Stack)和全局变量(Global Variables) 是内存管理的三个核心概念
是内存管理的三个核心概念,它们决定了程序如何分配和使用RAM资源。在函数外部定义的变量,生命周期贯穿整个程序运行期间。过多的全局变量会挤占SRAM空间,导致内存不足。在STM32(以及所有嵌入式系统)中,(局部变量、函数参数、返回地址等)。),适合不确定大小的数据。
2025-05-14 13:01:18
932
原创 内存划分包括 Flash存储器、SRAM 和 外设寄存器
以下是详细的划分说明,并附上典型应用示例。:控制 GPIO、USART、SPI、TIM 等外设。:存储程序代码(固件)、常量数据、配置参数等。STM32F407VETx 的内存划分包括。:运行时变量、堆栈、动态内存分配。
2025-05-14 12:59:36
613
原创 STM32F407VETx 内部Flash详细划分说明
在STM32F407VETx中,Flash存储器的组织方式分为三个主要部分,每个部分都有特定的功能和用途。
2025-05-14 12:51:45
842
原创 实现三个采集板数据传送到一个显示屏的方案
这个时候,主机要得到从机的地址,就要给三个从机广播(给三个从机同时发送要地址的命令),然后从机接受到命令后,先随机延时(避免数据线冲突),再将自己的地址发送给主机。主机接受到各个从机的地址后,带上地址给从机发生要数据的命令(这个步骤就和上面一样了)。通过开关组合设置不同地址(如0001=1,0010=2,0011=3)每个采集板安装二进制拨码开关(如4位DIP开关)硬件设置方式,拨码开关设置(推荐)优点:直观、不易丢失设置。
2025-05-10 14:48:02
256
原创 STM32F103RC 芯片中,ADC(模数转换器)的18个复用通道包括16个外部模拟输入通道(对应GPIO引脚)和2个内部信号通道(温度传感器和内部参考电压)。
的18个ADC通道包括16个外部引脚+2个内部信号,通过复用器分时采样。内部通道(温度/VREFINT)无需外部电路,但需注意采样时间和校准。多通道应用时,优先使用扫描模式+DMA以提高效率。
2025-05-09 14:38:43
619
原创 STM32F103RC中ADC1和ADC2通道复用
这表示STM32F103RC芯片内,ADC1和ADC2的16个外部通道(IN0 - IN15 )在物理上都连接到了PA0 - PC5这些GPIO引脚上,在使用时可根据需求配置这些引脚作为ADC通道来采集模拟信号。通过这种共享设计,STM32在有限的引脚下实现了多ADC灵活性,但需开发者注意合理分配资源。
2025-05-09 14:22:39
335
原创 STM32F103C8 AD采样
通过以上配置和步骤,STM32F103可以有效地完成模拟信号的数字化转换。:通过ADC_SQRx或ADC_JSQRx寄存器选择要转换的通道。采样时间 = (设置值 + 12.5)个ADC时钟周期。:通过ADC_SMPRx寄存器设置每个通道的采样时间。多达18个复用通道(16个外部通道+2个内部通道)转换时间:1μs(在56MHz ADC时钟下):转换结果存入ADC_DR寄存器。首次上电后需要等待一段时间再校准。模拟输入电压范围:0-VREF+:在采样时间内保持输入信号稳定。:软件触发或硬件触发。
2025-05-09 13:48:34
479
原创 SR=0XF8
在串口中断函数里面,写了上面的代码,结果串口接受数据就有问题了,SR=0XF8,犯了一个错误,就是在中断函数里面,操作了特别耗时的函数。解决办法就是在中断里面打标志,在主程序里面操作耗时程序。4年没写代码了,操作失误啊。
2025-04-23 14:15:06
137
原创 串口小板的使用
1. 下载并安装串口小板的驱动,CH340 或者 CP2102,电脑设备管理器查看端口COM,看串口小板的驱动是否安装成功。4. 连接调试板,测试调试板的发送,是否能正常发送,再调试接受。3. 短接R和T, 打开串口软件,测试一下串口小板是否正常。2. 根据需要设置串口小板的通信模式,232,485等等。
2025-04-22 11:31:34
79
原创 STM32CubeMX
STM32CubeMX 是 ST 微电子公司提供的图形化配置工具,用于 STM32 微控制器的初始化代码生成。它可以帮助开发者:可视化配置引脚功能和外设生成初始化代码框架配置中间件(如 FreeRTOS、FatFS 等)估算功耗。
2025-04-17 11:02:57
735
转载 STM32CubeMX时钟源的选择
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。使用STM32CubeMX进行时钟源RCC配置的时候,可以选择使用内部时钟或外部时钟。当程序对时钟精度要求较高时,通常使用外部时钟。原文链接:https://blog.csdn.net/songxunwen/article/details/121385560。有源晶振顾名思义,需要外部供电,由一个引脚输出固定频率波形。BYPASS Clock Resource:外部有源晶振(旁路时钟源)
2025-04-15 15:45:46
39
原创 Emwin 实现汉字显示 FontCvtST.exe and U2C.exe
新建hanzi_test.txt文件,保存编码为带有BOM UTF-8,再打开U2C软件,选择该文件,点击Convert,再点击Close.会在同一路径下生成hanzi_test.c文件,打开hanzi_test.c文件,将这个两行字符串复制到工程源码具体位置(apStrings[]),进行下一步应用就行。打开软件 FontCvtST,如图设置后,点OK。字体设置, 黑体,常规,24后, 点击确定。设置所有字体不用选中,设置后全部变成了灰色。自己在文本输入的字体变成白色。导入自己新建.txt文本。
2025-04-14 10:35:27
224
原创 C 语言程序 中,使用除法运算符号 /,输出浮点
/ 强制转换为浮点除法。// 输出: 3.75。// 等价于 10 / 2,结果为 5(更快但可读性降低)double result = (double)5 / 2;// 结果为 2.5。// 结果为 2(不是 2.5)float result = 5.0 / 2;// 结果为 2.5。// 结果为 2.5。// 结果为 1(不是 1.5)// 输出: Odd。
2025-04-14 09:07:10
416
原创 做仪器UI用到的颜色工具网站
做仪器UI界面,对背景图,文字,提示,标题栏等的搭配,可以使用这个网址,进行颜色搭配。2. 对比度工具,煤矿井下设备,光线暗,要求背景与文字有合适的对比度,可以用这个软件。3. 颜色生成ARGB的值工具,这三个工具,都在上面这个网址。1. 图片取颜色工具。
2025-04-14 08:37:00
252
原创 使用keil软件研发的步骤
Keil.STM32L0xx_DFP.2.0.1,注意库和keil软件版本的关系,keil软件版本低的话,将高版本的库装不进去,回退库的版本就行(下载旧库,在官网下载)。该文件夹下有两个文件夹(x64 x86)和一个可执行文件(InstDrivers),点击可执行文件InstDrivers 就能安装好了。不用再为Jlink驱动总是装不上而烦恼了,Keil5自带了Jlink的驱动。路径为:D:\keil5\ARM\Segger\USBDriver。Keil5自带Jlink驱动安装。3. 安装jlink驱动。
2025-04-08 10:29:02
161
原创 煤矿沿线 智能输入输出模块,一般用来干什么
当检测到异常情况时,及时发出报警信号,并可根据预设的逻辑自动采取相应的保护措施,如切断相关设备的电源,以防止事故的发生和扩大。• 故障诊断与预警:基于采集到的数据,对设备的运行状态进行分析和诊断,及时发现设备潜在的故障隐患,并提前发出预警信息,提醒维修人员进行维护和检修,以减少设备故障停机时间,提高设备的可靠性和运行效率。• 数据采集:采集煤矿沿线各种设备的运行状态数据,如电机的电流、电压、温度,皮带的速度、张力,以及煤仓的煤位等模拟量数据,还能采集设备的启停状态、开关位置等开关量数据。
2025-04-03 14:36:45
290
原创 画圆算法,优缺点
中点画圆法 | 整数 | 快 | 中等 | 嵌入式OLED、低分辨率屏 |**原理**:优化中点画圆法,将判别式初始值调整为 `3 - 2R`,完全消除浮点运算,仅用整数加减和移位操作。- **嵌入式SPI OLED(如240圆形屏)**:优先使用**Bresenham算法**,兼顾速度和效果。- **需要平滑边缘**:结合**抗锯齿优化**或更高分辨率弥补锯齿问题。- **高效**:仅使用整数运算,避免浮点计算,适合嵌入式或低性能设备。
2025-03-30 08:08:07
407
原创 第十四课 - 指针与基本数据类型
指针与基本数据类型指针与构造类型指针与数组的混合使用指针用法柬言1. 给指针p赋值的两个途径:1. 定义好变量,将变量的地址给指针。2. 给指针分配空间,malloc。...
2021-12-28 23:09:14
1181
转载 第十五课-C语言-函数返回局部变量
一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意这里指的是栈,返回指向堆内存的指针是可以的)。 下面以函数返回局部变量的指针举几个典型的例子来说明:...
2021-12-28 22:07:42
1088
linux 下 移植 wifi . 概念讲解, iw ,wpa, dhco, hostapd每个步骤都有。
2018-07-17
详细介绍linux下移植wifi的步骤
2018-07-12
svn 服务器和客户端
2018-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人