- 博客(6)
- 收藏
- 关注
原创 学习-电机
调速就PWM的TIM_SetCompare就行,对应各自的 输出比较口 号,剩下的就是各种,程序组装。目的:switch判断各状态,然后通过定时器计时判断时序解析数据,实现红外接收。其中PWMA和AIN1/2控制左侧轮子,PWMB和BIN1/2控制左侧轮子。tips:随手记一些写程序时遇到的小问题,主要内容看纸质笔记。引脚VM接+5V,引脚STBY和引脚VCC接+3.3V。tips:连线,连线千万别忘了!PWM引脚控制速度,AIN/BIN控制方向。
2025-02-18 20:18:15
220
原创 学习-红外发射
(1)TIM1是高级定时器,多了很多通用定时器没有的配置,不配的话就有奇怪的问题,所以先按默认参数统一初始化,然后再配置需要的。红外发射引脚PA8(开TIM1_CH1)GPIO_Mode_AF_PP。同样遵循NEC协议,先发送引导码,然后是数据码。(2)同样因为高级定时器,需要TIM_CtrlPWMOutputs。tips:随手记一些写程序时遇到的小问题,主要内容看纸质笔记。一、红外发射模块IR_Transmitter.c。目的:写NEC协议时序,发送红外信号。(3)输出比较通道一一对应。
2025-02-18 16:04:53
224
原创 学习-红外接收
下降沿的话停止定时器,获取当前计数器的值,符合高电平时间就记录在存储数组里,符合低电平时间什么不做就行默认是0,都不符合的话Num_Red置1指示初始状态。此时停止定时器,获取当前计数器的值,结合分频和预装判断高电平的时间。(1)红外信号来时第一次进中断(下降沿)。4.定时器中断函数里,判断中断标志位,关闭定时器,各变量给初始值,最后清除标志位。3.在EXTI中断函数里,判断中断标志位,然后调用上面那个函数,最后清除标志位。2.接收信号:用switch判断处于什么状态,标志位Num_Red,初始置1。
2025-02-18 15:20:11
326
原创 学习-超声传感器SR04
中断函数名在启动文件startup_stm32f10x_md.s里,固定且唯一,要开哪个中断就复制下来在里面写内容,随便放在程序哪个文件哪个位置;首先判断标志位,当置1时代表中断发生,中断结束后要清除对应标志位,不然会一直检测到中断,卡死在里面。模块自动发送 8 个 40KHz 的方波,自动检测是否有信号返回,用户只需提供一个触发信号,然后检测回响信号的时间长短就行;Echo回响接收引脚,为高时开启定时器计数,为低时结束计时,计算距离;(1)开APB总线(注意一下是APB1还是APB2,这个不会报错)
2025-02-18 10:49:11
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人