- 博客(80)
- 资源 (1)
- 收藏
- 关注
原创 DS1307 读取时间示例代码 STM32 HAL
摘要:该代码实现了DS1307实时时钟(RTC)芯片的驱动功能,包含BCD码与十进制转换、初始化配置、时间读取和设置等功能。通过I2C接口通信,定义时间结构体DS1307_Time_t存储秒、分、时、日、月、年等数据。主要函数包括DS1307_Init(初始化)、DS1307_ReadTime(读取时间)和DS1307_WriteTime(设置时间),使用HAL库的I2C接口进行数据传输,并处理BCD格式与十进制格式的相互转换。代码结构清晰,包含头文件保护机制和详细的寄存器定义。
2025-06-11 20:21:59
46
原创 STM32G DMA串口发送接收
本文介绍了基于UART3和DMA的串口通信实现方法。系统通过串口接收RGB颜色命令(格式如"R:255,G:128,B:64"),利用空闲中断(IDLE)触发数据处理,采用DMA方式完成数据传输。解析过程使用sscanf提取RGB值并验证其有效性(0-255范围),成功则存储到rgb_color数组并返回"OK",失败返回"ERROR"。关键技术包括:IDLE中断实现不定长数据捕获、DMA传输降低CPU负载、sscanf格式化解析命令。该系统实现了
2025-06-11 08:42:19
367
原创 ESP12E/F 参数对比
ESP8266启动模式与GPIO功能摘要: ESP8266的启动模式由GPIO0、GPIO2和GPIO15的电平组合决定:正常启动需GPIO0高电平、GPIO2高电平、GPIO15低电平;刷写固件需GPIO0低电平、GPIO2高电平。关键引脚包括RST(复位)、EN(芯片使能)、GPIO16(深度睡眠唤醒)以及SPI/I2C功能引脚。电源为3.3V,注意GPIO0和GPIO15在启动时的特殊电平要求。UART0默认用于通信,部分GPIO复用为特殊功能接口。
2025-06-08 23:08:37
312
原创 DRV8833 电机控制芯片
芯片引脚配置及控制说明:STBY引脚需拉高使能芯片工作;IN1、IN2分为两组分别对应AO、BO输出。两组输入同时拉高可实现刹车功能(慢速衰减模式)。该设计通过电平控制实现电机驱动与制动功能。
2025-06-06 22:39:57
208
原创 嘉立创天猛星MSPM0G3507 简易PID项目示例代码
嘉立创示例需放入SDK目录运行syscfg.bat,该示例支持Keil和CCS开发环境。用户需将示例代码放置在指定位置,通过执行配置文件来启用相关功能。该示例为开发者提供了两种主流IDE(Keil和CCS)的适配方案,便于在不同开发环境中快速测试和使用。运行syscfg.bat可完成必要的环境配置,确保示例程序能够顺利编译和调试。
2025-05-31 23:32:02
102
原创 TI MSPM0G3507 简易PID项目显示和按键控制
摘要:该代码实现了一个基于TI MSP微控制器的嵌入式系统,主要功能包括:1) 初始化系统外设(串口、定时器、编码器、按键等); 2) 实现LED呼吸灯、串口通信、PWM电机控制功能; 3) 包含UI界面显示和编码器数据处理; 4) 使用定时器中断实现精确延时; 5) 通过状态机管理系统运行模式。代码采用模块化设计,包含硬件驱动层和任务应用层,实现了基础外设控制和简单人机交互功能。
2025-05-31 23:26:08
529
原创 【TI MSPM0G3507】 定时器 串口 中断 PWM示例
该代码是德州仪器(TI) MSP微控制器的嵌入式程序,主要功能包括LED呼吸灯控制、串口通信和定时中断处理。程序采用TI提供的底层驱动库(DL)实现硬件操作,包含精确延时、PWM调光、串口收发和中断服务等模块。呼吸灯效果通过调整PWM占空比实现渐变效果,同时支持按键中断和串口中断处理。代码遵循TI软件许可协议,保留所有版权声明和免责条款。程序结构清晰,包含初始化配置、主循环和多个中断服务例程,展示了典型的嵌入式系统开发模式。
2025-05-30 21:35:47
84
原创 Python年快乐!祝福语大全。
Linux被熊孩子rm -rf /*Elasticsearch分片乱飞。Merge Conflict永无解。React疯狂re-render。祝你们硬盘S.M.A.R.T报警。再祝你们Windows开机蓝屏。——来自一个被代码诅咒过的AI。再祝你们gradle下载不上。TensorFlow警告玄学。生产环境全员「我本地没问题」Homebrew源全404。Deadline提前到昨天。兄弟们Python年快乐。Composer内存爆表。Lambda冷启动成永恒。再祝你们空指针,野指针。
2025-05-25 16:37:45
195
原创 C语言学习路线
学习C语言是一个循序渐进的过程,以下是适合初学者的学习路线,结合了基础语法、核心概念、进阶技能和实际应用,帮助你系统掌握这门经典的编程语言。通过系统学习和持续实践,C语言会成为你理解计算机底层原理的强力工具!
2025-05-25 16:34:05
293
原创 《分布式年夜》解析
这篇小说犹如用PyTorch编写的文化DNA重组程序,在张量漩涡中重构了技术人文主义的叙事范式。当最后一个CUDA核心停止波动时,我们终将理解——真正的通用人工智能,或许就藏在那些未被数据清洗掉的拜年短信残片中。《分布式年夜》是一篇极具后现代科技美学的小说片段,将硬核AI研发细节与中国式家庭叙事完美熔铸,呈现出数字时代技术狂人的精神图景。
2025-05-25 16:32:20
662
原创 《分布式年夜》
当表弟炫耀新提的Model X时,你听见父亲轻声说:"我儿子在训练能理解方言的AI..."话音未落就被淹没在碗筷碰撞声里。你盯着包厢墙上的《万里江山图》,突然顿悟了跨模态对齐的真谛——那些山水皴法,不正是自然语言处理中的词向量拓扑?远方传来此起彼伏的"新年快乐",而你的指尖正悬在云端训练容灾系统的重启键上,像按着人类认知边疆的发射按钮。窗外的烟花在玻璃上炸开霓虹色块,映得RTX 8090显卡的呼吸灯忽明忽暗,像某种危险的信号。"你转动着盛满可乐的酒杯,杯壁上凝结的水珠正沿着贝叶斯优化的轨迹滑落。
2025-05-25 16:31:21
182
原创 STM32 CubeMX时钟配置PWM信号输出
PWM(脉宽调制)通过调节方波的占空比控制输出功率。STM32中,定时器与CCR寄存器协同工作实现PWM:定时器计数至ARR值后复位,CCR寄存器存储比较值,当计数值小于CCR时输出高/低电平(取决于PWM模式)。示例代码展示了如何配置TIM3通道1生成50HzPWM,频率由ARR和PSC决定,占空比由CCR/ARR比值控制。通过修改CCR值可动态调整占空比,实现对电机、LED等设备的精确控制。
2025-05-24 00:08:11
762
原创 keil uniFlash烧录出现八字节对齐错误
在2025年5月15日,CORTEX_M0P系统在尝试进行闪存编程时遇到了错误,原因是起始地址或数据长度未按8字节对齐。这一问题在Delay_ms函数中尤为明显,由于前后两次延迟时间不一致,导致了烧录失败。针对此问题,提出了两种解决方案:一是参考TI板keil5编译MSPM0无法下载的解决方法,二是调整程序,将Delay_ms和滴答定时器的延迟整合,直至能够成功烧录。此外,还提到了串口下载报错的解决方法,建议参考立创开发板技术文档中心的相关内容。
2025-05-15 21:22:56
314
原创 嘉立创天猛星使用串口下载代码
下载 UniFlash安装 CH340 驱动运行 UniFlash 并配置器件硬件连接设置下载参数进入升级模式烧录固件
2025-05-15 13:02:35
971
原创 ROS 2 FishBot PID控制电机代码
本文介绍了一个基于ESP32的电机控制系统,使用了MPU6050传感器、编码器和PID控制器。系统通过MPU6050获取加速度和陀螺仪数据,编码器用于测量电机转速,PID控制器用于调节电机速度。代码中初始化了电机、编码器和MPU6050,并通过定时器控制LED的闪烁。主循环中,系统读取超声波传感器的距离数据,并计算编码器的速度。PID控制器的实现包括误差计算、积分限幅和输出限幅等功能,用于精确控制电机速度。该系统适用于需要精确控制电机速度的应用场景。
2025-05-11 18:30:10
149
原创 MPU6050 六轴姿态 Arduino ESP32 Test
在物联网和嵌入式系统开发领域,Arduino 是一款广受欢迎的开源电子原型平台,它具有简单易用、成本低廉等优点。而 MPU6050 是一款集成了三轴加速度计和三轴陀螺仪的传感器,能够测量物体的运动和姿态信息。本文将详细介绍如何使用 Arduino 与 MPU6050 传感器进行通信,实现传感器数据的采集与处理,同时还会实现一个 LED 定时闪烁的功能,以展示 Arduino 的多任务处理能力。
2025-05-06 15:59:15
404
转载 【转载】第一性原理
而拥有普通思维方式的大众,例如你和我,思考爱偷懒,信品牌,根据外部社会的激励来行动,不会天天想着如何把问题“煮沸”。下单后,运来的,却是“小米新品”……美军士兵看起来很奇怪的,戴眼镜、经常翻阅作战文件,不打猎也不采集,运输机和运输船就会送来各种吃的喝的,穿的用的。许多人弄不明白,既然搞IT的平时都鼓捣个计算机,为什么还得分成搞硬件的、搞架构的、搞通讯的、搞操作系统的、搞软件的、搞算法的、搞应用的?因为你奇幻曼妙的认知与思维,是要靠神经网络(此处说的,是你头脑中那个,不是计算机模拟的)作为物质基础的。
2025-04-29 22:50:54
24
原创 深入解析达夫设备:一段令人惊叹的C语言优化技巧
达夫设备本质上是一种循环展开技术,主要用于优化串行数据复制操作。它通过将循环体展开多次,减少了循环控制的开销,同时利用C语言switch语句的特性处理剩余数据项。达夫设备展示了C语言的灵活性和程序员在优化方面的创造力。虽然现代编程中可能不常直接使用这种技术,但理解其原理对于深入掌握C语言和性能优化仍然很有价值。在实际应用中,建议先进行基准测试,再决定是否使用类似的优化技巧。
2025-04-20 23:17:20
247
原创 WEMOS LOLIN32 开发板引脚布局和技术规格
默认情况下,WEMOS LOLIN32 开发板使用 esptool_py 上传器工具、esp_ota用于无线 (OTA) 上传的网络上传器工具以及esptool_py引导加载程序工具。该开发板提供 40 个数字 IO 引脚,其中 16 个可用作外部中断引脚 ,16 个作为模拟输入引脚,19 个引脚具有脉宽调制 (PWM)。您可以在下面找到 WEMOS LOLIN32 的规格,例如功能、连接选项和 WEMOS LOLIN32 技术规格。RX / TX - 接收 (RX) / 发送 (TX)
2025-04-20 23:10:22
1199
原创 WEMOS LOLIN32
ESP32是結合Wi-Fi和藍牙的32位元系統單晶片(SoC)與外接快閃記憶體的模組。許多廠商生產採用ESP32模組的控制板,最基本的ESP控制板包含ESP32模組、直流電壓轉換器和USB序列通訊介面IC。一款名為WEMOS LOLIN32的ESP32控制板具備3.7V鋰電池插座。WEMOS LOLIN32控制板採用ESP32模組本身的接腳編號。不同型號的ESP32控制板在尺寸、接腳形式和編號上有所差異,例如NodeMCU系列採用廠商自己的接腳編號。另一款名為WEMOS LOLIN32 Lite的控制板與L
2025-04-20 23:08:12
434
原创 C++ 语言中 switch 语法和 Java 中 switch 语法的一些常见区别
【代码】 C++ 语言中 switch 语法和 Java 中 switch 语法的一些常见区别。
2025-04-19 00:25:45
168
原创 RT-Thread开发文档合集
瑞萨VisionBoard开发实践指南RT-Thread 文档中心RT-Thread-【RA8D1-Vision Board】 RA8D1 Vision Board上的USB实践RT-Thread问答社区 - RT-Thread【开发板】环境篇:05烧录工具介绍_哔哩哔哩_bilibili【RA8D1-Vision Board】基于OpenMV 实现图像分类_哔哩哔哩_bilibili
2025-04-19 00:06:59
251
转载 RT-Thread Studio 初次使用项目介绍 Vision Board
Vision-Board 开发板是 RT-Thread 推出基于瑞萨 Cortex-M85 架构 RA8D1 芯片,拥有Helium和TrustZone技术的加持,性能非常强大。SDK包里集成了OpenMV机器视觉例程,配合MicroPython 解释器,使其可以流畅地开发机器视觉应用。
2025-04-18 22:50:30
105
转载 【转载】点亮 LED 灯 (四种形式) 高阶
中文名:发光二极管。英文名:Light Emitting Diode。简称:LED。应用:LED 显示屏、交通信号灯、广告灯、液晶屏背光源等。特点:节能是 LED 灯最突出的特点、环保、跟其它的灯光源相比之下,LED 灯会更加"干净"(干净不是指的是表面,而是这个 LED 灯它其实是属于一种冷光源)、响应速度快等。二极管灯在电路图当中所表示的一个符号,在电路图当中左边是正极、右边是负极。在 LED 当中只有正极接入正极负极接入负极它才会有电流流通进去。这个是二极管实物里面的一些知识点。
2025-03-10 21:43:06
87
原创 C51流水灯示例代码8051
这段代码的主要功能是控制连接在 8051 单片机 P2 端口的一组 LED 灯,实现 LED 灯逐个点亮并循环的效果。具体来说,代码会先点亮 P2 端口的最低位对应的 LED 灯,然后每隔 500 毫秒将点亮的 LED 灯依次向左移动一位,当最高位的 LED 灯点亮后,又重新从最低位开始点亮,如此循环往复。当 P2 的值为 0x7F 时,意味着最高位的 LED 灯已经点亮,此时将 P2 的值重新设置为 0xFE,从而实现 LED 灯的循环点亮效果。
2025-03-09 15:06:56
368
原创 设计模式与面向对象的 11 个致命陷阱
🎭 四、对象关系の禁忌之恋(分布式系统常见惨案) 🔟 循环依赖的死亡螺旋(Spring启动失败之谜)📦 二、封装の禁忌仪式(资深工程师也会中招) 4️⃣ getter/setter暴政(性能刺客)🔄 三、多态の致命诱惑(设计模式翻车现场) 7️⃣ 策略模式内存黑洞(某金融系统OOM真相)🚀 一、继承体系三大诅咒(新手必踩坑) 1️⃣ 钻石继承雪崩(Python经典灾难)9️⃣ 模板方法模式的时间炸弹(Android ANR经典案例)6️⃣ 过度保护综合症(测试之敌)
2025-02-15 01:09:38
307
原创 易语言.飞扬特性展示2
条件判断(if) 如果( 1 + 1 == 2) { } 否则 { } if( 1 + 1 == 2) { } else { } if( 1 + 1 == 2) { } else { } if( 1 + 1 == 2) { } else { }定义枚举 公开 枚举 我的枚举 { u, v, w } public enum MyEnum { u, v, w } public enum MyEnum { u, v, w };
2025-02-12 20:10:13
913
原创 易语言.飞扬
定义有语言无关的 EFOM 对象模型,允许使用其它各种编程语言来直接书写“易语言.飞扬”本地类,和用“易语言.飞扬”本身书写的类完全融合互补,没有任何差别,可用作快速建立强大高效的本地应用环境,同时可充分利用现有代码资源。定义有语言无关的“EF对象模型”,允许使用其它各种编程语言直接书写“易语言.飞扬”本地类,和用“易语言.飞扬”本身书写的类完全融合互补,可用作快速建立强大高效的本地应用环境,同时可充分利用现有代码资源。繁琐、晦涩、不常用的语言特性被尽量精简,且补充了很多便于使用的语言特性。
2025-02-12 19:47:47
824
STM32G070RBT6项目实战:多功能LED+数码管+串口控制
2025-06-04
C51 单片机 定时器时钟Keil项目C语言源码
2025-03-11
C51 单片机 点亮LED Keil工程C语言代码
2025-03-11
C51 单片机按键检测Keil项目源码
2025-03-11
SkinConvertingSheep中文版,我的世界皮肤1.7与1.8格式互转工具
2023-01-16
易语言人手必备三万源码+一千模块
2020-10-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人