对射式红外传感器 对射式红外传感器的DO数字输出端,随意选择一个GPIO口接上就行,图中接到了PB14的端口。 程序要求与设计 程序要求: 当我们的挡光片或者编码盘在这个对射式红外传感器中间经过时,这个DO就会输出电平变化信号,然后这个电平跳变信号就会触发STM32 PB14号口
TIM定时器 TIM(Timer)意思是定时器,定时器的基本功能就是可以对输入的时钟进行计数,并在计数值达到设定值时触发中断,这就是定时器最基本的功能,就是定时触发中断。同时,也可以看出来,定时器就是一个计数器,当这个计数器的输入是一个准确可靠的基准时钟的时候,那它在对这个基准时钟进行计数的过程,
定时器内部中断接线图 只需要在STM32最小系统板上插入OLED屏幕就行了,因为定时器和中断系统的电路都在STM32内部,定时中断也是为我们程序设计提供服务的,所以只需要插一个OLED显示数据就行了。 写代码 初始化定时器大体思路 写关于定时器的代码,首先就需要写定时器的初始化函数,
定时器的输出比较功能 STM32定时器的输出比较功能,这个输出比较功能还是比较重要的,他主要是用来输出PWM波形的,PWM波形又是驱动电机的必要条件,所以你如果想用STM32做一些有电机的项目,比如智能车、机器人等,那这个输出比较功能就要好好学学了。 本小节共要实现三个程序: 1.PW
PWM驱动LED呼吸灯 LED接线图 LED正极接在PA0引脚上,这样占空比越大,LED越亮。 PWM初始化步骤 第一步,RCC开启时钟,把我们要用的TIM外设和GPIO外设的时钟打开。 第二步,配置时基单元。 第三步,配置输出比较单元,里面包括CCR的值,输出比
输入捕获简介 IC(Input Capture)输入捕获 。 4个输入捕获和输出比较通道,共用4个CCR寄存器,另外输入捕获和输出比较通道的CH1到CH4,4个通道的引脚也是共用的。所以对于同一个定时器,输入捕获和输出比较只能同时使用其中的一个。 输入捕获模式下,当通道输入引脚
输入捕获测频率 输入捕获测频率接线图 测量信号的输入信号是PA6,信号从PA6进入。 待测的PWM信号也是由STM32自己生成的,输出引脚是PA0。 所以接线这里,直接用一根线把PA0引到PA6就行了。 输入捕获测频率代码 输出PWM代码 PWM的频率和占空比都是可调的
导语 本次程序和我们之前写的旋转编码器计次的代码实现的功能是一样的,本质上都是旋转编码器计次,只不过这个代码是通过定时器的编码器接口,来自动计次的,而我们之前的代码是通过触发外部中断,然后在中断函数中手动进行计次,使用编码器接口的好处就是节约软件资源,如果使用外部中断来计次,那当电机高速旋转时,编
编码器接口测速接线图 参考引脚定义表,PA6和PA7是TIM3的通道1和通道2,我们计划用TIM3接编码器。 编码器计数代码 第一步,RCC开启时钟,开启GPIO和定时器的时钟。 第二步,配置GPIO,这里需要把PA6和PA7配置成输入模式。 第三步,配置时基单元,
STM32 ADC简介 对于GPIO来说,他只能读取引脚的高低电平,要么是高电平,要么是低电平,只有两个值。而使用了ADC之后,我们就可以对这个高电平和低电平之间的任意电压进行量化,最终用一个变量来表示,读取这个变量,就可以知道引脚的具体电压是多少了。 所以ADC实际上就是一个电压表,把引脚