Image
Image

有何不可0365

+ 关注

粉丝 0     |     主题 45     |     回帖 781

STM32应用霍尔转速传感器基于输入捕获
2024-1-30 16:21
  • ST MCU
  • 20
  • 2298
  用飞线把PA6(通道1)和PE5(LED1)连接起来  
  结果 LED1每0.2s切换亮灭状态一次,故每0.4s亮一次,结果和下图一样  
  MAIN.C解读 主函数是检测到2次高电平就通过串口打印出高电平的时间 以下头文件中是用了原子哥的头文件 #i ...  
  MAIN.C #include "sys.h" #include "usart.h" #include "delay.h" #include "led.h" #include "tim3_cap ...  
  TIM3中断函数解读 TIM3_FLAG是8位的,其中第7位用于标志第一次捕获,如果检测到第一次捕获就置1,第8位用于 ...  
  计数器的值能捕获入TIM3_CCR1寄存器和设置上升沿捕获 TIM3->CCER|=1  
  什么是TIM3->CCR1寄存器呢 看官方的介绍就知道了 也就是保存捕获的时候计数器的数值 ...  
  分频 贴上官方介绍 就是每几个高电平触发一次捕获 如果你设置每2个事件触发一次捕获,那么检测到2次高电平 ...  
  滤波 首先看STM32中文参考手册中的介绍 我的理解就是输入捕获采样频率也就是速度 ...  
  设置通道1为输入不分频,不滤波 TIM3->CCMR1|=1  
  设置定时器的自动重载值和预分频值 TIM3->ARR=arr;//设置自动重载值 TIM3->PSC=psc;//设置预分频值 ...  
  接着设置PA6为下拉输入,为什么下拉输入,因为我们需要捕获高电平,如果你要捕获低电平,设置PA6为上拉输入 ...  
  TIM3_CAP.C解读 首先开启定时器3和GPIOA的时钟 RCC->APB1ENR|=1  
STM32L4-双路RS485自收发通信实验
2024-3-31 22:54
  • ST MCU
  • 14
  • 1699
  RS485接收中断配置函数 本次使用基于RS485的串口USART3发送数据,串口USART1接收数据。因此,使用RXNE中断 ...  
  因此直接往BRR寄存器中写入对应值即可:USARTX->BRR=16000000/baud;//波特率  
  这里我已经将系统时钟配置为16MHZ的内部时钟HSI16: SET_BIT(RCC->CFGR,RCC_CFGR_SWS_0);//配置时钟源为HSI ...  
  波特率配置 依据芯片编程手册: 当过采样为16(OVER8=0)时,波特率为Fck(系统总线时钟)/USARTDIV(波特率 ...  
  串口初始化函数 这里我配置了一个通用的初始化函数,可以根据需求配置串口,中断,中断优先级与波特率: / ...  
  基本配置 MCU采用STM32L431RCT6 485芯片采用ADM3485 本次使用STM32L4芯片的串口USART3和串口USART1通过两 ...  
  以ADM3485芯片为例: 依据真值表所示,传统的RS485收发电路通常将收发控制引脚RE和DE连接在一起,通过一 ...  
2
3
近期访客