(一)中断------外部中断
中断3步:
1》配置中断源
2》配置中断优先级
3》编写中断服务函数
4,以按键点灯为例,编写外部中断步骤:
1>打开时钟----GPIOA,AFIO,EXTI
2>初始化GPIOA
----GPIO_Pin_0
----上拉输入
3>初始化EXTI
----外部中断线路0
----模式---中断模式
----触发方式---下降沿触发
----使能
4>配置中断源
5>配置中断优先级
----中断通道号----在stm32f10x.h这个文件中找
----抢占优先级
----响应优先级
----使能
6>编写中断服务函数
----判断标志位
----清除标志位
----执行相应的操作
-------------------------------------------------------------
(二)定时器----基本定时器和通用定时器(产生PWM波形)
计数方式 时钟分频 输入/输出通道 互补输出
基本定时器(TIM6,7) 向上 16位预分频器 无 无
通用定时器(TIM2,3,4,5) 向上,向下,向上向下 16位预分频器 4 无
高级定时器(TIM1,TIM8) 向上,向下,向上向下 16位预分频器 4 有
互补输出:具有三相六步电机接口,可以用于电机控制,具有刹车功能
1》基本定时器 ----硬件定时器
作用:用于产生延时
例如:定时1s灯闪烁,编程步骤
1,打开时钟----TIM6
2,初始化TIM6
----自动转载寄存器的值
----PSC 预分频器的值
3,配置中断源----更新事件
4,配置中断优先级
----中断通道号----在stm32f10x
----主优先级
----子优先级
----使能
5,使能TIM6
6,编写中断服务函数
----判断标志位
----清除标志位
----执行相应的操作
---------------------------------------------
2》通用定时器-----PWM波形的产生
1>PWM ----脉冲宽度调制
2>占空比----高电平占整个周期的百分比
预装载寄存器:影子寄存器,它是一个实际存在的寄存器,当你需要改变周期值和比较值时,如果使能了它,周期值和比较值不会当即改变,会在下一个时钟边沿,同时发生改变
实现LED调色板,编程步骤:
1,打开时钟-----GPIOC,AFIO,TIM3
2,初始化GPIOC
----速度---10MHZ
----模式---复用推挽输出
----GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8
3,实现TIM3的完全重映射
4,初始化TIM3
----周期值(255)
----预分频器的值(1-1)
----计数方式(向上)
5,初始定时器3的通道1,2,3
----模式(PWM1)
----有效电平(低电平)
----比较值(0)
----通道(1,2,3)
6,使能预装载寄存器(ARR)
7,使能预装载寄存器(通道1,2,3)
8,使能定时器3
9,调节通道1,2,3的比较值
中断与定时器的配置
最新推荐文章于 2023-07-25 16:29:41 发布