完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一:理论学习
1.了解STM32时钟结构(已掌握) 在 STM32 中,有五个时钟源,为 HSI、HSE、LSI、LSE、PLL。从时钟频率来分可以分为 高速时钟源和低速时钟源,在这 5 个中 HIS,HSE 以及 PLL 是高速时钟,LSI 和 LSE 是低速时 钟。从来源可分为外部时钟源和内部时钟源,外部时钟源就是从外部通过接晶振的方式获取时 钟源,其中 HSE 和 LSE 是外部时钟源,其他的是内部时钟源。 ①、HSI 是高速内部时钟,RC 振荡器,频率为 8MHz。 ②、HSE 是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为 4MHz~16MHz。 我们的开发板接的是 8M 的晶振。 ③、LSI 是低速内部时钟,RC 振荡器,频率为 40kHz。独立看门狗的时钟源只能是 LSI,同 时 LSI 还可以作为 RTC 的时钟源。 ④、LSE 是低速外部时钟,接频率为 32.768kHz 的石英晶体。这个主要是 RTC 的时钟源。 ⑤、PLL 为锁相环倍频输出,其时钟输入源可选择为 HSI/2、HSE 或者 HSE/2。倍频可选择为 2~16 倍,但是其输出频率最大不得超过 72MHz。 配置时钟参数可以通过软件STM32CubeMX直接配置,也可以在MDK5里面通过调用时钟设置函数进行配置。 2.了解单片机中的事件和中断是什么,弄清它们之间的区别(基本掌握) 单片机中断是指CPU在正常执行程序的过程中,由于计算机内部或外部发生了另一事件(如定时时间到,超压报警等),请求CPU迅速去处理,CPU暂时停止当前程序的运行,而转去处理所发生的事件。中断属于正常现象。 事件是可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事件,等等。当MCU系统外设满足了一定的条件,改变了相应的状态标志位,这时候就认为发生了某个事件。 事件与中断事件是包含关系,即事件可分为中断事件或非中断事件。中断事件是一种可以导致中断发生的事件。中断则是因为中断事件的发生而导致的后续行为过程,因此中断一定有一个对应的事件,但一个事件不一定对应一个中断。从外部激励信号来看,中断和事件的产生源都可以是一样的。之所以分成2个部分,由于中断是需要CPU参与的,需要软件的中断服务函数才能完成中断后产生的结果;但是事件,是靠脉冲发生器产生一个脉冲,进而由硬件自动完成这个事件产生的结果。 3.理解中断优先级(基本理解) STM32 将中断分为 5 个组,组 0-4。该分组的设置是由SCB->AIRCR寄存器的bit10-8来定义的。具体的分配关系如下: 4.了解STM32的定时器,并学习定时器的基本结构和功能 (不是很懂定时器的使用) STM32F1系列的定时器可以分为3类: 1)高级定时器(TIM1,TIM8):16 位向上、向下、向上/向下自动装载计数器,可以产生DMA请求,有4组捕获/比较通道输出互补PWM信号; 2)通用定时器(TIM2~TIM5):16 位向上、向下、向上/向下自动装载计数器,可以产生DMA请求,有4组捕获/比较通道输出PWM信号但不能输出互补PWM信号; 3)基本定时器(TIM6,TIM7):16 位向上、向下、向上/向下自动装载计数器; 定时器的计数频率公式: TIMx_CLK = CK_INT / (TIM_Prescaler + 1) 其中:TIMx_CLK ——定时器的计数频率 CK_INT——内部时钟源频率(APB1的倍频器送出时钟) TIM_Prescaler——用户设定的预分频系数,取值范围0~65535 二:实践项目 1.通过按键控制LED灯的亮灭,并利用定时器中断,对按键进行消抖 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin == GPIO_PIN_5) { HAL_Delay(10); if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_5)==0) HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_8); } } 2.利用定时器,实现呼吸灯的效果(选做) 定时器使用内部时钟 使能定时器 重写定时器中断回调函数 启动定时器 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1115 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1140 浏览 1 评论
572 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
428 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1026 浏览 2 评论
1612浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
280浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
290浏览 3评论
274浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
250浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 10:27 , Processed in 0.607765 second(s), Total 43, Slave 37 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号