STM32-------定时器、舵机、超声波、智能垃圾桶

文章介绍了STM32的GPIO功能,包括输出取反、写引脚、初始化以及读引脚的函数。同时,详细讨论了中断的概念,如EXTI、NVIC、抢占优先级和响应优先级,并解释了优先级分组在Cortex-M3中的应用。此外,提到了定时器的使用,特别是TIM4的CH3通道配置为PWM输出,用于智能垃圾桶的呼吸灯控制或距离检测应用。
摘要由CSDN通过智能技术生成

1、void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)------输出取反

2、void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)------写引脚

3、void MX_GPIO_Init(void)-----初始化

4、  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8|GPIO_PIN_9, GPIO_PIN_SET);---写引脚

5、GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)---读引脚

                                                        按键点灯

命名规则

复位和时钟: 分为3种:系统复位、电源复位、备份区复位。

时钟 :分为三种时钟源驱动 HSI/HSE/PLL时钟,还分二级时钟,优先级

中断: EXTI 分为产生中断和产生事件产生中断线路目的是把输入信号输入到 NVIC,进一步会运行中断服务函数,实现功能,这样是软 件级的。而产生事件线目的就是传输一个脉冲信号给其他外设使用,并且是电路级别的信号传 输,属于硬件级的。

什么是优先级?
         抢占优先级和响应优先级的区别:
高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。
抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。
抢占优先级相同的中断,当两个中断同时发生的情况下,哪个响应优先级高,哪个先执行。
如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行
什么是优先级分组?
        Cortex-M3 允许具有较少中断源时使用较少的寄存器位指定中断源的优先级,因此 STM32
指定中断优先级的寄存器位减少到 4 位,这 4 个寄存器位的分组方式如下:
0 组:所有 4 位用于指定响应优先级
1 组:最高 1 位用于指定抢占式优先级,最低 3 位用于指定响应优先级
2 组:最高 2 位用于指定抢占式优先级,最低 2 位用于指定响应优先级
3 组:最高 3 位用于指定抢占式优先级,最低 1 位用于指定响应优先级
4 组:所有 4 位用于指定抢占式优先级

4 个独立通道(TIMx_CH1 ~ 4 ),这些通道可以用来作为:
A .输入捕获
B .输出比较
C PWM 生成 ( 边缘或中间对齐模式 )
D .单脉冲模式输出

 

pwm控制呼吸 工程配置定时器4 控制CH3输出PWM波 设置时间

 

HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_3);//pwm开始函数

    __HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_3, pwmVal)

智能垃圾桶--循环扫描距离,距离小于10 开盖,按键、震动产生中断开盖、用标志位解决一卡一卡问题

 

​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值