stm32
Tjyuking
这个作者很懒,什么都没留下…
展开
-
stm32单片机基础(三)
定时器讲解总括定时器中断输入捕获总括大家可以先去观看正电原子通用定时器基本原理再来使用这篇文章定时器中断定时器中断了解arr自动重装载的三种方式,一般我们选择向上计数定时器中断原理:首先我们知道定时器主频为72MHZ经过psc预分频后,主频变为 72MHZ/psc(预分频系数)然后进行定时器计数模式配置——》arr(自动重装载值)当arr计数满了,就会发生溢出,进入中断。输入捕获...原创 2021-03-28 15:20:45 · 345 阅读 · 0 评论 -
基于HAL库的STM32超声波测距模块(白话文)
STM32超声波测距模块非输入捕获教程定时器的配置串口printf准备工作生成代码后main.c的工作us级定时输入捕获教程非输入捕获教程定时器的配置同样的操作你们试试TIM3每1us,CNT++;CNT加到65535就会溢出,产生中断。所以可以将PSC ARR当作两次时钟分频,两次分频乘积/72MHZ 就是每隔这么多时间定时器就中断一次但arr中设置的count可以检测出来。因此,我们就将预分频系数设为72-1,此时为1us一个时钟周期,再设置arr为65535,这样我们最多可以计数原创 2021-03-28 11:06:21 · 4545 阅读 · 3 评论 -
STM32 逻辑分析仪使用方法
步骤请按顺序来哟~~~想了解其他仿真的功能,请看STM32软件仿真由于我使能了GPIOB——PIN1,所以输入PORTB.1表示显示 PB1的波形按下回车:如果你显示 unkown signal请回到第二步,仔细看看你按我的要求填了么~?(重新康康图二!,若显示正确请略过此图)然后就出现了正确的波形啦...原创 2021-03-27 16:13:07 · 1989 阅读 · 0 评论 -
GS90 cubemx hal库教程 封装角度(保证正确!)
cubemax配置有关分频的设置,因为计数器的频率为72MHZ,那么预分频7199后,时钟频率就为 72000000/7200 = 10000HZ ,arr自动重装载值199,也就是说它每计数200后溢出一次,计数器+1,相当于再次分频时间,最后得出 频率为 10000/200 = 50hz 即0.02s = 20ms由上图得TIM2 CH1对应的管脚PA0,我们要初始化一下GPIO口到此为止,有关舵机的环境配置就已经完成了__HAL_TIM_SET_COMPARE(&ht原创 2021-03-24 14:25:33 · 379 阅读 · 1 评论 -
STM32串口通信 (缓冲区 发送不出数据&接收不到数据)
STM32串口通信流程附上代码注意事项一点心得:流程(简单的发送数据)GPIO时钟使能串口时钟使能串口的GPIO配置写初始化串口函数,配置串口USART_Init(USART1,&USART_InitStruct);开启(使能)串口USART_Cmd(USART1, ENABLE);附上代码void NVIC_Config_USART(){ NVIC_InitTypeDef NVIC_InitStruct; NVIC_InitStruct.NVIC_IRQChan原创 2020-11-24 22:12:29 · 12438 阅读 · 2 评论 -
stm32单片机Pwm输出对频率,定时器的理解
Pwm输出原理介绍流程展示原理介绍32单片机外接了一个8M的晶振,经过9倍的倍频后,PLL锁相环输出72Mhz的频率。这即系统的主频。定时器中 TIM3_Init(u16 arr,u16 psc)这个初试函数中,arr是自动重装载值,psc是可编程预分频器。(他们共同设置什么时候该溢出)比如arr = 899, psc = 0;就表示没有分频,此时定时器的时钟频率仍为72MHz,表示每个周期定时器经过900个脉冲,周期 = 1/72 us *900PWM 的频率就是 72000 000/90原创 2020-09-20 15:14:22 · 3622 阅读 · 0 评论 -
stm32单片机基础(二)
stm32单片机基础(二)外部中断二级目录错误外部中断二级目录错误1.h文件中报错 unterminated conditional directive的原因末尾没有加#endif原创 2020-09-08 21:21:49 · 3064 阅读 · 0 评论 -
stm32单片机基础(一)
stm32单片机串口复用GPIO配置选择GPIO如何确定外设的时钟是APB1还是APB2在这里插入图片描述概念时钟周期 机器周期双工 半双工 单工串口复用GPIO配置选择这里我们选择PA9 PA10的串口复用有关GPIO—mode配置原因usart串口,首先tx是作为输出的,逻辑上输出的数据都是0或者1,也就是由高低电平来表示,推挽就是能稳定输出1或者0。而复用,是因为这个io受的是内部的的usart模块来控制,并非是gpio寄存器来控制。至于rx设置为浮空输入那就很好理解了,首先接收的肯原创 2020-09-04 19:55:54 · 5944 阅读 · 1 评论 -
STM32跑马灯
STM32跑马灯相关概念介绍寄存器typedef[时钟函数]RCC_APB2PeriphClockCmd()问题undefined问题:另类错误跑马灯不亮?相关概念介绍寄存器寄存器是中央处理器内的组成部分,寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。因此对IO口的初始化就是向相关寄存器里面写不同的值,从而确定使用哪一个IO口(IO口标号)、以及IO口工作模式(输入还是输出)、输出速度等参数。typedefC语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括原创 2020-07-31 16:39:50 · 303 阅读 · 0 评论