推荐阅读最新更新时间:2026-03-20 10:59
STM32利用DAC+DMA+TIMER 输出正弦波
使用的是STM32F407的板子,程序参考的是STM32F4xx固件库的DAC_SignalsGeneration文件夹下的程序。官方例程分别使用了DAC的禁止生成波(DAC_WaveGeneration_None)的Escalator Wave梯形波,Sine Wave正弦波和stm32内置的的Noise Wave(DAC_WaveGeneration_Noise),Triangle Wave(DAC_WaveGeneration_Triangle)。 下面主要说一下输出正弦波的配置。 正弦电压的数组 const uint16_t aSine12bit = { 2047, 2447, 2831, 318
[单片机]
关于stm32不常用的中断,如何添加, 比如timer10 timer11等
首先可以从keil中找到 比如找到定时器11的溢出中断,如上图是26 然后,配置定时器11 溢出中断的时候,我就在:下面填上这个变量. 之后要写中断服务函数,也就是发生中断后要跳转到的函数. 需要知道函数名,如何找呢:(我是找到其他已知的中断函数名字,进行搜索,找到这里的) 第一个是0,数到 26,因为上面图片是26 这里上面它就是函数名字了 然后编写函数:(可以在下面函数中填入点亮小灯什么的...) 如果你找错,就可能会进入中断无法出来,或者找不到中断后跳转的函数而发生故障...
[单片机]
STM32 timer input filter
STM32的定时器输入通道都有一个滤波单元,分别位于每个输入通路上(下图中的黄色框)和外部触发输入通路上(下图中的兰色框),它们的作用是滤除输入信号上的高频干扰。 具体操作原理如下: 在TIMx_CR1中的CKD 可以由用户设置对输入信号的采样频率基准,有三种选择: 1)采样频率基准fDTS=定时器输入频率fCK_INT 2)采样频率基准fDTS=定时器输入频率fCK_INT/2 3)采样频率基准fDTS=定时器输入频率fCK_INT/4 然后使用上述频率作为基准对输入信号进行采样,当连续采样到N次个有效电平时,认为一次有效的输入电平。 实际的采样频率和采样次数可以由用户程序根据需要选择;外部触发输入通道的滤波
[单片机]
STM32之timer2的精准延时
一、简介 本文介绍STM32系列如何使用timer2进行精确定时。 二、实验平台 库版本:STM32F10x_StdPeriph_Lib_V3.5.0 编译软件:MDK4.53 硬件平台:STM32开发板(主芯片stm32f103c8t6) 仿真器:JLINK 三、版权声明 四、实验前提 1、在进行本文步骤前,请先阅读以下博文: 暂无 2、在进行本文步骤前,请先实现以下博文: 暂无 五、基础知识 暂无 六、实验步骤 1、编写并添加定时器2驱动 1)编写驱动GUA_Timer2.c(存放在“……HARDWARE”) //***************************
[单片机]
stm32 timer1/pwm 笔记
//--------------------------------TIMER1 先说下RCC时钟 //-------------------------RCC(具体参考所用芯片) AHB所连接的时钟 * RCC_AHBPeriph_DMA1,RCC_AHBPeriph_DMA2,RCC_AHBPeriph_SRAM * RCC_AHBPeriph_FLITF,RCC_AHBPeriph_CRC,RCC_AHBPeriph_FSMC * RCC_AHBPeriph_SDIO APB1所连接的时钟 * RCC_APB1Periph_TIM2, RCC_APB1Periph_TIM3, RC
[单片机]
STM32 Timer PWM_Output
脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。 下面是一个PWM模式1的例子。当TIMx_CNT TIMx_CCRx时PWM信号参考OCxREF为高,否则为低。如果TIMx_CCRx中的比较值大于自动重装载值(TIMx_ARR),则OCxREF保持为 1 。如果比较值为0,则OCxREF保持为 0 。 下图为TIMx_ARR=8时边沿对齐的PWM波形实例。 图128 边沿对齐的PWM波形(ARR=8) 库函数 STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\TIM\PWM_Out
[单片机]
STM32之TIMER定时器之间不同点
STM32F1系类有1~14一共14个定时器;具体型号不一样会有所不同。它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较、PWM、嵌入死区时间的互补PWM等)。 使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。 高级控制定时器(TIM1和TIM8)和通用定时器(TIMx)是完全独立的,它们不共享任何资源。它们可以同步操作。 TIM6和TIME7是基本定时器,他们通常作为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟。实际上,它 们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。 这2个定时器是互相独立的,不共享任何资源。
[单片机]
陈老师告诉你STM32单片机的DMA怎么使用
DMA技术的运用合乎真香定律,是提高单片机CPU程序执行效率的常用方法之一,但是在其运用前须要对很多的寄存器进行初始配置,对新手不够友好,今天我以串口为例,来带大家梳理一下DMA的运用方法,理清概念之间的关系,帮助大家更好的掌握和运用DMA技术. ///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程和毕业设计指导,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像白色字体加我也能领取哦,记得口令陈老师/// 串口是单片机最常用的外设,一般可用于达到多机的通讯功能.(串口USART1在单片机内部的位置如下图1处所示),CPU是控制和计算核心(如下图2处所示),DMA也能够认为是一个内部的控制器,(如下图3处所示)
[单片机]