自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(275)
  • 资源 (16)
  • 收藏
  • 关注

原创 定时器相关概念

定时器是微控制器(MCU)中的硬件模块,用于等。T_{中断} = \frac{(PSC + 1) \times (ARR + 1)}{F_{CLK}}掌握定时器的配置与计算,可覆盖绝大多数嵌入式实时控制场景!

2025-05-18 19:46:56 394

原创 stm32f407 flash存设置的程序,测试已通过,可用

【代码】stm32f407 flash存设置的程序,测试已通过,可用。

2025-05-17 12:47:07 64

原创 STM32的ADC模块中,**采样时机(Sampling Time)**和**转换时机(Conversion Time),获取数据的时机详解

在STM32的ADC模块中,**采样时机(Sampling Time)转换时机(Conversion Time)**是ADC工作流程中的两个关键阶段,直接影响采样精度和系统实时性。

2025-05-16 19:59:03 1020

原创 STM32 定时器主从模式配置解析

下面这两行代码是配置STM32定时器主从模式的关键设置。

2025-05-16 19:14:03 744

原创 捕获输入引脚的频率代码实现,测试可用

下面是一个使用STM32F103RET6标准库实现的四路频率采样程序,使用PA6、PA7、PB0、PB1作为输入引脚,采样200-1000Hz频率范围。我们将使用定时器输入捕获功能来实现频率测量。

2025-05-16 19:03:47 789

原创 用状态机做的两个按键程序,可以直接使用,已测试

【代码】用状态机做的两个按键程序,可以直接使用,已测试。

2025-05-15 21:12:52 99

原创 检测按键抖动的时间

在使用示波器测量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

原创 按键实现多个界面切换的方法

下面我将介绍几种实现三个界面切换的方法,并分析它们的优缺点。

2025-05-10 14:51:13 105

原创 实现三个采集板数据传送到一个显示屏的方案

这个时候,主机要得到从机的地址,就要给三个从机广播(给三个从机同时发送要地址的命令),然后从机接受到命令后,先随机延时(避免数据线冲突),再将自己的地址发送给主机。主机接受到各个从机的地址后,带上地址给从机发生要数据的命令(这个步骤就和上面一样了)。通过开关组合设置不同地址(如0001=1,0010=2,0011=3)每个采集板安装二进制拨码开关(如4位DIP开关)硬件设置方式,拨码开关设置(推荐)优点:直观、不易丢失设置。

2025-05-10 14:48:02 256

原创 STM32F103VE 三种低功耗模式

以上代码基于STM32标准外设库,实际使用时需要根据具体硬件和需求进行调整。

2025-05-09 16:28:53 325

原创 规则组,注入组

在STM32的ADC模块中,

2025-05-09 14:42:48 553

原创 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

原创 绘制半圆形进度条

【代码】绘制半圆形进度条。

2025-04-01 11:15:27 205

原创 画圆算法,优缺点

中点画圆法 | 整数 | 快 | 中等 | 嵌入式OLED、低分辨率屏 |**原理**:优化中点画圆法,将判别式初始值调整为 `3 - 2R`,完全消除浮点运算,仅用整数加减和移位操作。- **嵌入式SPI OLED(如240圆形屏)**:优先使用**Bresenham算法**,兼顾速度和效果。- **需要平滑边缘**:结合**抗锯齿优化**或更高分辨率弥补锯齿问题。- **高效**:仅使用整数运算,避免浮点计算,适合嵌入式或低性能设备。

2025-03-30 08:08:07 407

原创 stm32 LWIP开发-1-LWIP 无操作系统移植

stm32 SWIP

2022-06-30 11:42:37 1669

原创 第十九课 - 函数递归 直接递归 间接递归 函数指针 回调 callback 函数指针与状态机

2021-12-30 23:53:13 1148

原创 第十八课 上部 - 简单排序 插入排序 直接插入排序

2021-12-30 17:22:03 1090

原创 第十七课 - 预编译命令 文件包含 宏 条件编译 注释

预编译命令 文件包含 宏 条件编译 注释

2021-12-29 21:42:44 965

原创 第十六课(中部) - 双链表

双链表

2021-12-29 20:47:44 905

原创 第十六课(上部) -单链表

单链表

2021-12-29 16:46:30 923

原创 第十五课(3)-二级指针

二级指针

2021-12-28 23:11:52 845

原创 第十四课 - 指针与基本数据类型

指针与基本数据类型指针与构造类型指针与数组的混合使用指针用法柬言1. 给指针p赋值的两个途径:1. 定义好变量,将变量的地址给指针。2. 给指针分配空间,malloc。...

2021-12-28 23:09:14 1181

转载 第十五课-C语言-函数返回局部变量

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意这里指的是栈,返回指向堆内存的指针是可以的)。 下面以函数返回局部变量的指针举几个典型的例子来说明:...

2021-12-28 22:07:42 1088

原创 第十五课 - 指针与函数

指针作为函数的返回值指针作为函数的形参与实参二级指针的定义与作用

2021-12-28 11:45:42 1154

原创 第十三课 - 指针与数组

动态数组字符数组指针与自增运算符不同类型指针的步进值字符串相关系统函数

2021-12-27 15:55:26 919

原创 第十二课 - 指针

基本类型指针构造类型指针void指针mallocfreememset

2021-12-27 14:22:46 1017

uart_happygrilclh.zip

芯片stm32 , 使用hal库实现的串口,方式dma+uart+idle. 接受不定长的数据包。 调试过,可以使用。

2020-04-28

LED_happygrilclh.zip

使用hal库实现的led项目,芯片stm32f103

2020-04-28

Watchdog.zip

c8051f410的看门狗wdt使用方法,文档详细介绍,还提供源码。不做商用,只供学习。.

2020-03-22

vs1053b-patches270.zip

v1053b 的patch ,内有文档 和 源码。很全面的。可以下载。

2019-10-02

MD5 算法源码 c 写的

MD5 算法源码 c 写的

2018-12-22

linux 下 移植 wifi . 概念讲解, iw ,wpa, dhco, hostapd每个步骤都有。

linux 下 移植 wifi . 概念讲解, iw ,wpa, dhco, hostapd每个步骤都有。

2018-07-17

详细介绍linux下移植wifi的步骤

文档中详细介绍了详细介绍linux下移植wifi的步骤,包括如何获取驱动源码,加载驱动模块,内核编译进依赖。还有无线管理的方法,iw ,wpa,hostapd.dhsp

2018-07-12

网络控制晶片分类

网络控制晶片分类

2018-04-04

svn 服务器和客户端

svn 服务器和客户端 64位 and 32 位。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-01-18

ccc2541 程序

ccc2541 程序

2017-08-19

蓝牙学习笔记

蓝牙学习笔记

2017-08-05

蓝牙BLE权威教程

BLE

2017-07-26

cc2530,cc2541中文数据手册

cc2530,cc2541中文数据手册

2017-07-25

CC2541简明手册

CC2541简明手册

2017-07-23

CC253x和CC2540用户指南

CC253x和CC2540用户指南,编程文档。

2017-07-23

28355做的spwm。

用28335写的spwm程序,逆变正弦。

2017-04-11

空空如也

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

TA关注的人

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