
1. 资源扩展板介绍2 g1 K+ Y8 [- q 1.1. 硬件介绍+ e0 C, O% q* [! q; E. Z " K4 o( V- O5 M' {) D ![]() 7 O" S" v; {! | 1.1. 资源扩展板可开发项目! o+ `2 Z4 R. C8 j& G1 L % }6 X( M9 V- @ ![]() 2.扩展板蜂鸣器控制$ s9 d( Y" O4 Z) h! X 2.1实验原理+ e' {; `+ C. Y# k% Z3 } 打开扩展板原理图对照扩展板可以看到扩展板有1个蜂鸣器SP1,如下图:) M6 a- i5 a. H* n + f! |% D& G: k ![]() ' X0 o4 Z- e" }+ Y+ a) l0 } 由上图可见通过TIM4_CH1电平改变控制电路的通断从而驱动蜂鸣器。 ![]() 扩展板与底板接口对照图 查看原理图可知TIM4_CH1对应PB6,查看芯片手册可知PB6可以作为PWM TIMER4的通道1使用,本文实现如何通过PWM驱动蜂鸣器:+ g8 Q( M& B: ~; Y, E ![]() : V2 { ^6 x# Q( q, X8 s9 z 2.2.实验目的 了解蜂鸣器工作原理2 F. z6 R# g ]' q4 D* @! w1 m3 d 学习TIM中PWM的使用方法,掌握如何利用STM32MP157A芯片输出PWM波控制蜂鸣器 . M7 t- r! y, _/ G8 l( L 2.3.实验环境- ]- e; }/ F; D9 G0 p3 H$ a( ^5 H FS-MP1A开发平台5 x- X& E" ]5 f3 K5 a8 p- O o* P/ t ST-Link仿真器6 N# `8 K- F8 K STM32CubeIDE开发软件 e& W3 F7 n' E" q# [ PC机 XP、Window7/10 (32/64bit) 0 A( [) V6 C* S! b" v# z# v 2.4.实验步骤/ w# _) Z5 J- z4 U MX配置 根据原理图,配置PB6引脚设置为TIM4_CH1。切换到TIM4标签,勾选给“M4”,“Channel1”选择“PWM Generation CH1”,所有配置如下图所示。 ![]() ![]() ; x& Q2 [9 j2 w9 P/ v9 q 上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\10_EX_PWM_BEEP】 8 D# R, T; L8 Y" Z A9 E 代码设计' d% g4 N. r$ \0 X ( I9 }3 f/ H) V$ E% o' `" r 找到创建的工程,打开main.c,完善定时器中断回调函数,在该函数里,使用“__HAL_TIM_SET_COMPARE()” 可以修改寄存器CCR,实现不同的占空比。 % ~6 I+ h3 X8 @, y3 Y. C% P 将定时器中断启动函数“HAL_TIM_Base_Start_IT()”和定时器PWM输出开始函数“HAL_TIM_PWM_Start()”封装在一起。 8 ]( K0 ~1 s+ B1 E# O' ?" x# v ![]() 最后主函数调用“TIM_PWM_Start()”即可启动TIM中断,通过改变pulse的数值可以输出不同占空比的PWM,可以控制蜂鸣器发出不同频率的声音。6 ?' K" H- ]; C! m, P7 P ————————————————4 a: |4 Y. p$ O+ Z8 z 版权声明:华清远见IT开放实验室 ' y1 J% J4 g, P- t" N( q' f, I |
基于STM32MP1和STM32MP2在嵌入式Linux平台上部署有效的安全保护机制
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
STM32MP1 WiFi连接
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【STM32MPU 安全启动】 TF-A BL2 TrustedBoot原理学习
《STM32MPU安全启动》学**结
《STM32MPU安全启动》学习笔记之optee 如何加载CORTEX-M核和使能校验
《STM32MPU安全启动》学习笔记之TF-A BL2校验optee和uboot的流程以及如何使能
《STM32MPU 安全启动》课程学习心得+开启一扇通往嵌入式系统安全领域深处的大门。
《STM32MPU安全启动》 课程学习心得