一. 使用STM32F103的 Tim2~Tim5其一定时器的某一个通道pin(与GPIOx管脚复用,见下图),连接一个LED,用定时器计数方式,控制LED以2s的频率周期性地亮-灭。
对于步骤一,我们需要编写程序配置定时器,使用定时器的计数功能实现 LED 的周期性亮灭。关于定时器的具体配置方法,可以参考STM32F103的参考手册。
二. 接上,采用定时器pwm模式,让 LED 以呼吸灯方式渐亮渐灭,周期为1~2秒,自己调整到一个满意效果。使用Keil虚拟示波器,观察 pwm输出波形。
对于步骤二,我们可以使用定时器的PWM模式实现呼吸灯效果。PWM的工作原理是通过改变输出信号的脉冲宽度和周期来控制电路的输出功率。我们可以根据实际需求设置PWM的周期和占空比,实现LED的呼吸灯效果。
三. 再接上,采用定时器的另外一个通道,编程采集上面的pwm输出信号,获得其周期和脉宽,并重定向输出到串口显示。
对于步骤三,我们需要使用一个定时器的另一个通道来测量PWM输出信号的周期和脉宽,并使用串口输出显示。我们可以使用计数器来测量PWM信号的周期,使用捕获/比较寄存器来测量脉宽。
四. 学习 HC-SR04超声波测距模块工作原理,使用 stm32F103 完成一个超声波测距方案。
对于步骤四,我们需要先了解HC-SR04超声波传感器的工作原理。该传感器通过发射一定频率的超声波,然后测量从发射到接收的时间差来计算距离。我们可以使用定时器生成一定频率的脉冲信号作为超声波发射信号,然后使用另一个定时器测量接收到的脉冲信号的时间差,从而计算出距离。