跳转到主要内容

技术

MCU之TIMER精准延时(一)

TIMER是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。

嵌入式裸机编程中使用malloc、free会怎样?

对于裸机跑在MCU上的程序,分配与释放内存都会造成实际物理内存的变化。因为此时物理内存的分配是由自己实现的,而内存管理我们自己并没有去做。

单片机面向对象思维的架构:时间轮片法

一个线程模拟单片机的定时器中断产生时间片轮询个时钟,另一个线程则模拟主函数中一直运行的时间片轮询调度程序。

Cortex-M0中断控制和系统控制(一)

处理器中的NVIC能够处理多个可屏蔽中断通道和可编程优先级,中断输入请求可以是电平触发,也可以是最小的一个时钟周期的脉冲信号。

单片机常用的几种通信接口

在单片机开发中,UART、I2C、RS485等普遍在用,对它们的认识可能模棱两可,本文把它们整理了一下。

STM32驱动舵机原理和实现

最近几年国内机器人开始起步发展,很多高校、中小学都开始进行机器人技术教学。小型的机器人、模块化的机器人、组件式的机器人是教学机器人的首选。

开关电源是否稳定,通过这张图一目了然!

磁性元件、变压器、电容发出噪声、直流纹波偏大、输出电压震荡、功率器件过热……电源研发设计时遇到的这些问题,往往是控制环路不稳定引起的。

处理器出现lockup的原因和解决方法

在调试程序时,有时Keil会出现报错弹窗“Target is lockup”,我们就没办法再对MCU进行下载、仿真等操作,这个就有可能是处理器处在锁定状态,今天我们将一起分析MCU为何会出现“lockup”的情况。

STM32串口收发数据为什么要使用DMA?

在STM32控制器中,芯片采用Cortex-M3架构,总线结构有了很大的优化,DMA占用另外的总线,并不会与CPU的系统总线发生冲突。也就是说,DMA的使用不会影响CPU的运行速度。

HardFault定位方法和步骤

当复位产生时,处理器停止一切操作,并将复位当做一种特殊形式的异常来执行,进入到对应的中断函数。当复位撤销时,从向量表中复位项提供的地址处重新启动执行,芯片重新开始执行。

STM32低功耗模式有哪些?

低功耗模式有三种:睡眠模式、停止模式、待机模式。一般做开发大多都是选择停机模式,因为停机模式功耗较低,而且任一中断或事件都能唤醒。

嵌入式单片机编程魔法之三权分立

在单片机编程中,有很多人会因为一些貌似简单的处理而把问题弄得乱七八糟,如林中蛛网一样,错综复杂。而事实上,根据编程魔法之思想,对程序处理的过程严格划分部门、各施其职、部门内部互不干涉内政,是成功编程的关键。

怎样维修无图纸电路板?

现代的电子产品五花八门,元器件种类日益繁多,何止万千,在电路维修中,尤其工业电路板维修领域,许多元器件乃见所未见,甚或闻所未闻。

没有了晶振的单片机会怎样?

单片机内部用到很多和电脑功能相类似的模块,像CPU、内存、并行总线、存储数据的存储器等在单片机中都存在,不过不同的是它的这些部件性能相比电脑要弱很多,当然价钱也相对要低不少。

建议收藏 | 实用STM32的串口控制平台的实现

玩过Linux的朋友, 是不是对Linux无所不能的串口Shell命令控制台羡慕不已, 要是自己做的STM32F系列低档次的MCU也有这种控制交互能力, 会给调试/维护和配置省下多少麻烦事......

【技术干货】M2354 错误注入攻击 (Fault Injection Attack) 防护

有攻击就会有对应的防护,而防护的方法简单可分为软件防护与硬件防护。针对故障注入的软件防护,需要先分析出可能的弱点,并针对这些弱点,进行对应的软件开发与防护,这对软件工程人员来说,需要相当专业的信息安全知识与技能才能够做到。

Cortex-M可以跑Linux操作系统吗?

ARM处理器的体系结构定义了指令集(ISA)和基于这一体系结构下处理器的模型。ARM的指令集从ARMv1发展到今天的ARMv9,每一次体系结构的修改都会添加实用技术。

MM32F013x——IEC60730-1 B类认证软件设计指南(七)

ClassB认证的各部分代码段运行都会增加MCU的负担,为防止认证代码影响应用控制,我们需要对各个部分代码执行时间进行测试,分时段利用时间空隙进行自检。

STM32以太网MAC 地址Hash 过滤

网络中传递着各种各样的数据包,当设备连接到网络后,为了减少对接收到的数据进行处理的负荷,就需要对设备接收到的数据包进行过滤。

如何成功校准开环DAC信号链?

任何实际的电子应用都会受到多个误差源的影响,这些误差源可以使得最精密的元器件偏离其数据手册所述的行为。