- 博客(222)
- 资源 (50)
- 问答 (2)
- 收藏
- 关注
原创 N32 Cube 生成 N32H473REL7的定时器基本配置-1ms中断
摘要:该代码实现了一个1ms定时器中断处理函数BTIM1_IRQHandler,每1ms触发一次中断,累计计时变量tim16并设置标志位b_1ms。当tim16达到1000的整数倍时,通过串口输出当前计数值。执行结果显示每隔1秒(1000ms)输出一次递增的tim16值(1000、2000、3000等),验证了定时器中断功能正常工作。
2026-01-21 21:00:00
30
原创 N32CUBE生成 N32H473REL7的FDCAN基本配置
本文介绍了基于8MHz无源晶振的FDCAN通信实现过程。首先配置时钟系统,然后进行FDCAN基本参数设置(包括ID类型、帧格式、数据长度等),并配置中断功能。测试代码展示了周期发送64字节数据(1秒间隔)和接收处理功能,通过日志输出验证了通信成功。测试结果显示能够正确收发扩展ID为0x16645334的CAN FD帧,数据内容与发送缓冲区一致,实现了500Kbps传统模式下的稳定通信。
2026-01-21 20:00:00
37
原创 STC32G8K64单片机 FLASH模拟EEPROM
摘要: 本文实现了STC32G单片机的Flash操作功能,主要包括批量擦除、读写操作等功能。新增的EEPROM_BatchSectorErase函数支持批量擦除指定范围内的扇区数据。其他函数包括EEPROM_read_n(读取N字节)、EEPROM_write_n(写入并验证N字节)等,均采用标准IAP操作流程,包含地址设置、命令触发和数据校验机制。所有操作均通过IAP相关寄存器控制,并包含中断保护机制,确保操作可靠性。代码结构清晰,包含必要的错误检查和边界条件处理。
2026-01-17 21:15:00
28
原创 STC32G12K128单片机 串口1~4中断模式+DMA中断模式 基本配置
该代码实现了基于STC32G系列单片机的多串口通信功能,主要包含以下内容: 定义了4个UART通道的配置参数,包括波特率设置、DMA使能选项和缓冲区大小等 提供了UART结构体,包含接收/发送缓冲区、长度计数和状态标志 实现了UART1-UART4的初始化配置函数,支持DMA和非DMA两种模式 包含各UART的中断处理函数,实现数据接收和发送控制 特别处理了UART1的printf重定向功能 定义了串口状态机函数框架,用于处理接收超时等状态 代码结构清晰,通过宏定义灵活配置各串口参数,支持不同波特率和传输模
2026-01-16 19:31:18
71
原创 STC32G8K64单片机CAN控制器进入Bus-Off状态
摘要:本文分析了CAN控制器进入Bus-Off状态的原因及解决方案。当从机重启时,CAN控制器初始化过程会导致状态不稳定,若主机持续发送数据或从机未就绪时尝试响应,可能因仲裁失败或位错误产生大量通信错误,表现为10-30秒的接收延迟。文中提供了中断处理代码,通过清除Reset Mode实现从Bus-Off状态恢复。同时给出了CAN总线配置参数和核心功能函数,包括寄存器读写、数据收发等操作,支持500KHz波特率通信。代码中实现了错误警告中断处理和缓冲区管理机制,确保通信可靠性。
2026-01-03 18:45:00
74
1
原创 PY32F406K1CU6 FLASH模拟EEPROM
摘要:本文介绍了基于STM32 FLASH模拟EEPROM的实现方法。头文件flash.h定义了FLASH页大小(256字节)、用户存储区域(4页)及地址范围,提供了等待周期配置和地址校验宏,声明了EEPROM初始化、读写操作等函数接口。源文件flash.c实现了具体功能:配置FLASH等待周期(144MHz需3WS)、页读写擦除操作,以及EEPROM初始化(解锁-擦除-验证-锁定)和缓冲区读写功能。其中写操作采用"读页→更新→擦除→编程"的流程,确保数据安全写入。该方案适用于需要非易失
2025-12-02 20:30:00
139
原创 PY32F403K1CU6定时器1~6基本配置,1ms中断,每隔1秒打印
本文介绍了一个基于STM32的定时器模块实现,包含头文件tim.h和源文件tim.c。该模块初始化并管理多个定时器(TIM1-TIM4,TIM6),配置为1ms中断周期。主要功能包括:1)统一初始化多个定时器;2)为每个定时器设置不同的中断优先级;3)实现1ms中断回调处理,其中TIM2用于按键扫描、喂狗和LED切换,其他定时器实现1秒打印功能。模块采用HAL库实现,包含完整的初始化和中断处理流程,支持多定时器并行运行。
2025-12-02 19:00:00
158
原创 STC32G8K64+CAN2.0B扩展帧 实现固件升级功能-3.上位机MFC程序V2.0 加APP校验等保护
本文介绍了一个用于读取和处理HEX文件的C++实现。该代码通过两遍扫描HEX文件:第一遍确定地址范围,第二遍读取实际数据。程序支持处理扩展线性地址记录(0x04)和数据记录(0x00),并实现了关键数据交换功能,确保用户程序从指定地址(app_start)开始。此外,代码还提供了删除指定地址前内容的功能,最后将数据分割为指定大小的数据包。该实现包含了完善的错误处理机制,能够检测无效HEX文件格式和处理解析异常。
2025-11-28 22:15:00
50
原创 STC32G8K64+CAN2.0B扩展帧 实现固件升级功能-1.BootLoader程序V2.0 加APP校验等保护
摘要: 该代码实现了基于CAN总线的固件升级功能,主要包括固件协议解析和Flash操作。通过定义Flash分区(8KB Bootloader、52KB程序区、4KB用户数据区),支持固件包接收、校验和写入。关键功能包括:设备搜索广播响应、APP模式切换、固件包信息处理、数据包接收校验以及CRC完整性验证。使用IAP操作擦除和写入Flash,并通过帧号检测确保数据传输可靠性。支持主从设备识别和多种状态码反馈,包含调试输出便于问题排查。整个升级过程通过CAN总线通信完成,最终通过软复位或跳转指令启动新固件。
2025-11-28 22:00:00
35
原创 STM32F7移植codec2语音压缩算法,码本生成
本文介绍了在STM32F767平台上移植Codec2低比特率语音编解码器的完整流程。主要内容包括:1)下载Codec2源码及freedv-gui工具;2)配置码本生成环境,编写批处理脚本自动生成各类码本文件;3)将生成的.c码本文件集成到STM32工程中;4)Keil MDK环境配置,包括预处理器定义、C99模式启用等;5)处理半主机模式相关函数,替换标准库文件操作和内存管理函数;6)实际测试Codec2编解码效果,提供了音频播放模块的代码框架。该方案适用于在嵌入式设备上实现高效语音压缩传输应用。
2025-11-16 07:30:00
84
原创 STC32G8K64+CAN2.0B扩展帧 实现固件升级功能-2.用户程序
【代码】STC32G8K64+CAN2.0B扩展帧 实现固件升级功能-2.用户程序。
2025-11-02 13:42:22
64
原创 STC32G8K64+CAN2.0B扩展帧 实现固件升级功能-1.BootLoader程序
【代码】STC32G8K64+CAN2.0B扩展帧 实现固件升级功能-BootLoader程序。
2025-11-02 13:42:04
48
原创 STC32G8K64+CAN2.0B扩展帧 实现固件升级功能-3.上位机MFC程序
【代码】STC32G8K64+CAN2.0B扩展帧 实现固件升级功能-3.上位机MFC程序。
2025-11-02 13:41:50
58
原创 STC32G12K128 串口1、2、3、定时器0、看门狗 非中断模式基本使用
【代码】STC32G12K128 串口1、2、3、定时器0、看门狗 非中断模式基本使用。
2025-10-30 19:40:02
145
原创 STC32G12K128 串口3中断模式与电脑收发不定长数据-软件超时
本文实现了基于STC32G的UART3串口通信功能,主要包括初始化配置、中断处理和超时接收管理。代码定义波特率为2400,采用8N1格式,使用Timer3作为波特率发生器。通过中断方式实现数据收发,接收缓冲区大小为256字节,包含接收超时处理机制(5倍字符间隔时间+30ms)。功能包括:UART3初始化配置、中断服务程序(处理收发标志位)、接收超时状态机(1ms定时检测)以及字符串发送函数。该实现支持查询模式发送数据,并具备接收数据自动清空和长度统计功能。
2025-10-30 19:19:45
55
原创 连接的串口设备太多,实现自动搜索串口设备功能 找到所需的串口
本文介绍了一个自动搜索串口设备的实现方案。当电脑连接多个串口设备时,通过编写AutoScanDevice()函数自动遍历所有可用串口和波特率组合,具体流程包括:1)搜索所有可用串口;2)定义常用波特率数组;3)依次尝试每个串口和波特率组合;4)成功打开串口后发送搜索协议;5)通过检查设备映射mapDeviceAll判断是否找到设备。该方案可有效解决多串口环境下手动查找的繁琐问题,并提供了取消搜索和结果反馈功能。核心代码展示了串口选择、波特率设置、设备搜索等关键步骤的实现逻辑。
2025-10-30 19:01:44
55
原创 未在计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序”
未在计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序”:连接失败: 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
2025-10-30 08:51:06
111
原创 MFC 在list右键弹出菜单栏功能 ,在list控件自定义绘制按钮控件
ON_NOTIFY(NM_CUSTOMDRAW, IDC_LIST_DebugDev, OnCustomDraw) //list绘制按钮ON_NOTIFY(NM_CLICK, IDC_LIST_DebugDev, &CNetworkToolDlg::OnNMClickList) //list按钮点击事件ON_NOTIFY(NM_RCLICK, IDC_LIST_DebugDev, &CNetworkToolDlg::OnNMRClickListDebugdev) //list按钮右击事件。
2025-10-20 16:39:54
129
原创 c++&MFC 用boost.asio库写的串口功能,包含发送、异步接收、打开、重连、关闭功能;整合成CAN2.0B扩展帧发送
【代码】c++&MFC 用boost.asio库写的串口功能,包含发送、异步接收、打开、重连、关闭功能。
2025-10-02 20:02:21
161
原创 STC32G 用模拟PWM实现LED调光功能
在其它地方调用 Set_LED_Brightness(uint8_t led, uint8_t brightness) 即可设置led亮度。
2025-10-01 18:53:36
52
原创 STC32G单片机 配合定时器1实现按键KEY 消抖、短按、长按、短按释放、长按释放
【代码】STC32G单片机 配合定时器1实现按键KEY 消抖、短按、长按、短按释放、长按释放。
2025-09-21 14:30:00
126
原创 STC32G12K128 RS485用串口4使用DMA中断模式与电脑收发不定长数据-软件超时
【代码】STC32G12K128 串口2使用DMA中断模式与电脑收发不定长数据-软件超时。
2025-09-21 11:45:00
83
原创 c语言 实现每条指令之间都会无阻塞间隔指定ms数
/上面每条指令之间都会无阻塞间隔指定ms数(从下面time间隔100ms可以看出)//2.每次遍历i都会遍历step1=0~3。//1.遍历i=0~3。//3.执行step2。//4.执行step3。
2025-09-16 20:32:12
104
原创 STC32G12K128 串口3使用DMA中断模式与电脑收发不定长数据-软件超时
这篇文章摘要介绍了基于STC32G单片机的UART3串口DMA自动收发功能的实现。系统通过PC向MCU发送数据,利用DMA自动将接收到的数据原样返回。主要内容包括: 定义了UART3的DMA缓冲区结构体,包含发送/接收标志、超时计数和64字节缓冲区 实现了DMA配置函数,设置发送/接收缓冲区地址、数据长度和中断使能 提供了DMA发送/接收功能函数,支持数据拷贝和缓冲区管理 包含UART3初始化配置,支持Timer2/Timer3波特率选择 设计了超时状态管理机制和中断处理函数 使用时发现DMA发送会在数据末
2025-09-14 12:39:44
144
原创 STM32和C++ 实现单片机的用户参数 配置文件导入、导出功能
/ 导出流程// 1. 客户端 → 设备:导出配置请求,例如:GetFlashData[d6fe30323454]:{ini} ,其中[]里面是设备序列号// 2. 设备 → 客户端:配置文件元数据(总大小、块数量)// 3. 客户端 → 设备:请求块1// 4. 设备 → 客户端:发送块1(包含块序号和校验值)// 5. 保存到临时缓冲区// 6. 重复步骤3 - 5,直到所有块传输完成、校验信息// 7. 客户端合并所有块,验证完整文件的校验值。
2025-06-23 23:00:00
223
原创 STM32F103RCT6 + MFC实现网口设备搜索、修改IP、固件升级等功能
/ 2.第1帧数据包含了总大小、多少帧数据、每帧大小, 通过设备的拨码开关或唯一序列号来区分发给谁。// 1.打开bin文件分为多个包放入std::vector<std::vector>// 上位机用MFC下位机用STM32F103RCT6,下位机使用5000端口调试。// 3.上位机解析收到的INI格式网络参数,根据序列号Number区分不同设备。// 2.下位机收到信息后解析对应内容并设置为自己的网络信息。// 多台下位机插在电脑不同网段的网口。// 3.收到回复后才发下一帧数据。
2025-05-09 21:00:00
430
原创 MFC 用boost.asio库写的UDP,包含发送、异步接收、打开、关闭功能
【代码】MFC 用boost.asio库写的UDP,包含发送、异步接收、打开、关闭功能。
2025-05-03 08:15:00
184
原创 STM32 HAL库如何获取STM32唯一ID 来当作IP和MAC,网络参数合法性检查
【代码】STM32 HAL库如何获取STM32唯一ID 来当作IP和MAC,网络参数合法性检查。
2025-05-01 08:14:19
243
自制计数器1.0-原理图+PCB+程序+外壳+资料.zip
2021-06-18
stm32f429+串口激光测距模块+SD卡FatFs系统+RTC+stmflash+tim定时器+spi_flash+硬石的串口屏-2020-9-29
2020-09-29
stm32f429+串口激光测距模块+SD卡FatFs系统+RTC+stmflash+tim定时器+spi_flash+硬石的串口屏-2020-10-12
2020-10-12
温控板2.5-STM32F10x+6路DS18B20+1路DHT11温湿度模块+Timer定时器+stmflash+外部中断按键+LCD12864SPI串口驱动
2020-09-29
2SD1760 60V3A三极管NPN-TO252.pdf
2020-12-24
2SC5609-PNP 50V200mA三极管SOT23.pdf
2020-12-24
PY32F403移植Fatfs文件系统+播放(MAX4466+3W扬声器)+录音(8002D+驻极体)
2025-12-13
TCP服务器 基于MFC C++实现
2023-07-27
MDK531.ZIP MDK531.ZIP
2023-05-21
C#实现FTP上传、下载、删除文件,扫描(正则过滤)指定文件并上传
2022-07-30
C# winform 开机自启动时最小化到托盘 双击显示窗体,右击显示菜单 FTP文件上传下载(解决多网卡问题)
2022-07-16
海康相机SDK二次开发
2022-05-24
计数器 和2路输出Counter1.0.zip
2021-12-13
三菱FX3SA PLC连接威纶通MT6071iE触摸屏+计数器使用+循环执行N次+暂停+触摸屏软件安装包.zip
2021-12-31
对stm32多个不同的gpio同时赋值
2020-05-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅