嵌入式

LCG米10 小时前
stm32·单片机·嵌入式·adc
STM32 ADC多通道DMA定时器触发实测:TRGO触发链、采样率精确控制与乒乓缓冲落地摘要:STM32 多通道 ADC 采集最常用的是连续转换模式,但该模式下采样率由 ADC 时钟决定,节拍不可控,无法满足等间隔采样、抗混叠和多路数据对齐分析的需求。本文基于 STM32F103C8T6,把 ADC 的触发源从"软件/连续"切换为 TIM3 的 TRGO 事件,配合 DMA 循环模式与乒乓双缓冲,实现 4 通道、触发率从 1kHz 到 35kHz 可精确设定的采集链路。实测:1kHz 触发周期偏差约 0.1μs,非整除档位(3.3kHz)采样率偏差 +0.78%,触发频率极限实测 35~40
LCG米2 天前
stm32·单片机·嵌入式硬件·嵌入式
STM32硬件SPI驱动SSD1306 OLED实测:上电黑屏排查、页寻址模式与取模扫描方向陷阱0.96 寸 SSD1306 OLED 是 STM32 项目里最常见的显示模块,但"接线正确却黑屏、字符上下颠倒、整屏花码"始终是新手复现率最高的三类故障。本文以 STM32F103C8T6 + 硬件 SPI1 为例,从显存页寻址与四线 SPI 时序讲起,逐条给出带寄存器标注的 CubeMX 配置与可运行驱动代码;通过 5 档预分频参数扫描,实测 9 MHz 档单帧全屏刷新 1.12 ms、18 MHz 档 0.63 ms,理论线速与实测的 15%~24% 差值已定位到 CS/DC 切换开销;并用逻辑分析
探鸽小钛2 天前
物联网·音视频·嵌入式·esp32·webrtc
4G 终端 ES8311 - 挂断一次,下次说话就没声了之解决办法这是一套 4G Cat.1 嵌入式方案:移芯 EC718PM 芯片(Cortex-M3 306 MHz、4 MB Flash / 4 MB RAM)+ NT26F6D0 模组 + ES8311 codec,跑 RTOS。固件开源在 tangeai/xiaotai-lierda,本文代码以 examples/NT26FxDx_OpenKit/tirtc_pro/media/ 为根,涉及 audio_device.c 与 audio_device.h。
Zwawa3 天前
c语言·嵌入式·编译器
编译器工具链:GCC、Clang、MSVC、ICC、armclang写了几百行代码,按过很多次“编译”按钮。灯亮不亮、程序跑不跑得起来,是后面的事;按下去之后第一个说话的东西,是编译器——它要么一声不吭地把代码变成能烧进芯片的文件,要么甩回来一串红字,告诉你哪一行它看不懂。
用户8351414049493 天前
嵌入式
Makefile从零写起:每条规则在干什么先说背景。手上有个 imx6ull 的板子,之前一直用 Buildroot 一键出镜像,日子过得挺舒服。最近接了个小活,要在一个裸的交叉编译环境里单独编几个驱动模块和一个测试程序,人家给了个 SDK,里面 Makefile 一大堆,我打开一看,满屏的 $(CC)、$@、$<、:=、?=,头皮发麻。
pipixia200333 天前
c++·面试·嵌入式·继承·面向对象·对象模型
C++继承面试四连问:内存叠加、私有继承、sizeof、权限重映射很多人都把 C++ 继承当成一张权限表来背,但先别急着背表,先回答一个问题:继承的本质是什么?我的结论就多了内存和访问权限,改变父类在子类的权限
shimly1234563 天前
嵌入式
(undone) 野火嵌入式 (1) 打开例程工程教材 url: https://doc.embedfire.com/mcu/stm32/f103badao/std/zh/latest/README.html
Zwawa4 天前
c语言·单片机·嵌入式
一只按键不只“按下”:短按、长按和连按如何共存Q: 按键事件是什么? A: 它是程序根据电平变化和持续时间整理出的单击、长按或多击等一次性结果。Q: 为什么要把电平转换成事件? A: 业务代码关心的是“用户完成了什么动作”,不应该重复处理抖动、计时和多击窗口。
Zevalin爱灰灰4 天前
linux·ubuntu·嵌入式
Linux入门第一部分(Ubuntu入门篇) 第三章 shell脚本入门(一)(1)在Linux开发中通常涉及终端敲命令,对于一些标准的流程,每次执行都要敲一大串雷同的命令会比较麻烦,Shell脚本就是把多条命令写到纯文本文件中,批量自动执行,类似于Windows的bat批处理文件。
2035去旅行4 天前
嵌入式·arm·soc
U-Boot DM(Driver Model)驱动框架DM 的核心目标:统一驱动写法、支持设备树、支持平台数据、总线抽象、懒加载(bind 和 probe 分离),替代老 U-Boot 分散、硬编码、无统一管理的驱动模式。
硅基造物主4 天前
stm32·mqtt·嵌入式·智能家居·hal库·esp-12f
STM32 从 0 到 1 做智能家居(一):先想清楚要做什么这是一套完整的实战系列:用 STM32F411RET6 + HAL 库 + ESP-12F,从空工程一路做到"网页能看数据、能控硬件"的智能家居。本文是第一篇,只讲一件事——动手前把项目想清楚。
凉、介4 天前
笔记·学习·嵌入式·arm
深入理解 ARMv7-M | 异常/中断处理参考: 《Arm®v7-M Architecture Reference Manual》ARMv7-M 系列其他文章:
凉、介4 天前
笔记·学习·嵌入式·arm
深入理解 ARMv7-M|处理器模式与寄存器参考: 《Arm®v7-M Architecture Reference Manual》ARMv7-M 系列其他文章:
LCG米4 天前
stm32·单片机·嵌入式·1024程序员节
STM32 DMA 多通道链式传输实测:请求仲裁顺序错位根因、半满中断乒乓与高速并发搬运落地在电机控制、多通道数据采集、串口并发收发等嵌入式实时系统中,单条 DMA 通道一次只能服务一个外设,多外设并发搬运时极易出现数据错位、半满中断丢失、请求仲裁乱序等隐蔽故障。本文基于 STM32F407VGT6,针对 ADC 多通道扫描、UART 并发接收、SPI 高速搬运三类典型场景,实测 DMA 多通道链式传输的请求仲裁顺序、半满中断切换时序与乒乓缓冲一致性。实测:正确配置通道优先级与请求顺序后,四通道 ADC 并发采样吞吐稳定在 1.02 MSPS,半满中断抖动 < 2.1 μs,数据错位率由 12.
Sakura_j_h_5 天前
stm32·嵌入式·输入捕获·定时器·pwm·编码器·1024程序员节
STM32F103 定时器的三种用法:PWM 输出、输入捕获与编码器接口上个月把实验室那台老小车主控换成了 STM32F103C8T6,需求不复杂:两路 PWM 驱动 L298N 的两个电机,一路接红外接收头解 NEC 协议,另外还要读左右两个霍尔编码器测速。第一版代码写得很顺,想着 C8T6 上有四个定时器,一个功能分一个就够了。结果上车跑了十分钟,问题全来了——电机转速忽快忽慢,遥控十次里有两三次没反应,最要命的是里程数越跑越偏,直行两百米能歪出去半米。
pipixia200335 天前
c语言·学习·算法·嵌入式·命名空间·c++面试·匿名命名空间
C++ 面试高频:namespace 的 6 个知识点,从 using 到匿名命名空间在 C++ 中,命名空间(namespace)用来把类、函数、变量等标识符封装起来,避免命名冲突和名字污染——这是它最基础的作用。`using 声明` 和`using 指令` 到底差在哪、为什么头文件里不能用`using namespace std` 、从定义到嵌套、内联命名空间、别名一路讲下来,最后都落到这几个必考问题上。
Zevalin爱灰灰5 天前
linux·嵌入式·1024程序员节
Linux入门第一部分(Ubuntu入门篇) 第二章 浅尝Ubuntu(二)参考教程:https://www.bilibili.com/video/BV1vE411h7Fi/?spm_id_from=333.788.videopod.episodes&vd_source=8f8a7bd7765d52551c498d7eaed8acd5
Zevalin爱灰灰5 天前
linux·嵌入式·1024程序员节
Linux入门第一部分(Ubuntu入门篇) 第二章 浅尝Ubuntu(一)参考教程:https://www.bilibili.com/video/BV1vE411h7Fi/?spm_id_from=333.788.videopod.episodes&vd_source=8f8a7bd7765d52551c498d7eaed8acd5
Zwawa6 天前
c语言·单片机·嵌入式
一盏 LED 不够用了:让同一盏灯说出不同的话Q: LED 模式是什么? A: LED 模式是用状态和计时参数描述点闪、闪烁、流水或呼吸等输出行为的程序规则。
2035去旅行6 天前
嵌入式·arm·soc
U-Boot简介U‑Boot = Universal Bootloader,全称 Universal Boot Loader。