STM32 定时器和外部触发的同步(从模式: 复位模式)

本文介绍了如何在STM32中配置定时器从模式的复位模式,特别是在串口通信中用于判断接收帧结束的应用。通过使用定时器复位模式,当接收到一帧数据结束时触发中断,提高了数据接收的可靠性。配置示例使用了TIM3的CH1,连接到PB4,该引脚与串口的RX相连。
摘要由CSDN通过智能技术生成

STM32定时器从模式———复位模式

在网上找相关的STM32复位模式的配置几乎没有,于是看官方提供的例程,官方的提供的例程没有针对性,眉毛胡子袜子一把抓,而且都是定时器级联,不是很好阅读,于是简单写了个关于定时器复位模式的简单配置例程,仅供大家参考。

应用:这里的定时器复位模式,我把它应用在串口通信判断接收一帧的结束上,也就是说,接受 一帧数据结束的进入中断,否则,只要还有数据在传,就一直复位定时器,不会进入中断。相比于依赖于串口中断再用定时器去计时,这种硬件的判断一帧结束的方式会更可靠。

采用复位模式,所需资源:一个基本/高级定时器,定时器的一个通道,串口。
芯片:stm32f302CBT6
定时器: TIM3 CH1
CH1对应引脚 : PB4
配置完成后 PB4 拿杜邦线 接在 PA10(RX)上
为什么是PB4 :因为我在CubeMX上,勾选了一下,SlaveMode:Reset_Mode, Trigger Sourse:TI1_ED
他就自动帮我选择了 PB4这个引脚,不知道其他CHx是否可以,大家可以试一下,在下面评论告诉我。

这里我是先在CubeMx上选了一下之后再用库函数进行编辑。
下面配置过程:

/***********************使用TIM3_TIM_TS_TI1F_ED边沿触发***************************/
/*TIM3 CH1 PB4 init */
void  gpio_init(void)
{
   
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE); /*enable gpioB*/
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE); /*复用时钟*/
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_PinAFConfig(GPIOB,GPIO_PinSourse4,GPIO_AF_2);
}

/*TIM3 config*/
void tim3_init
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值