stm32 C编程入门记录(2) Timers(上)

这篇博客介绍了在STM32中使用Timers作为频率控制工具,特别是如何配置Timer与GPIO连接。通过选择计时器、开启GPIO时钟及设置GPIO模式,将PC8连接到Tim3,为后续的定时操作打下基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍Tim的用途:

在stm32里常常需要用Timer来决定一件事项的频率。最简单的例子,如果想让一个LED灯已一个频率闪烁,就要用Tim来确认频率。那接下来就要介绍一下如何建立一个Tim的计时器。

过程介绍

1.选择计时器

首先在I/Opin中,我们暂时只能设置输入与输出。alternative和analog mode还没有涉及,参照下图。
这是stm32 reference book上的内容
首先我们要用一个general-purpose的pin连接到Tim,所以这里就不再是输入与输出的结果,而是alternate function mode。

举例

首先打开 I/O port C clock才能给PC中的pin赋值。
假设我们要设置PC8为Tim3的启动pin

RCC->AHBENR |= RCC_AHBENR_GPIOCEN;//1
GPIOC->MODER &= ~(3 <<(2 * 8));//2
GPIOC->MODER |= 2 <<(2 * 8);//3
GPIOC->AFR[1] &= ~(15<<(4*8));//4

1.打开所有GPIOC的pin.
2.因为下面要给PC8赋值,所以要先清空原来的数值,否则原来数字或等于10结果可能不为10.ex.10|11=11~=10.
3.在上图表格中在moder中一个pin占据两位,moder8在第16位,所以向右移8*2位并赋予二进制10也就是2
因为不能改变其他位数上的值所以用“|=”“或”来赋值
4.这一步要给把pc8绑定到tim3.
需要查datasheet。
在这里插入图片描述
因为pc8对应的alternate function 只有一个就不需要再次查表来,再查reference book 中AFR的部分。
在这里插入图片描述
因为PC8中的8大于7,所以它属于AFRH组。又因为PC8只有一个alternate function。
所以只有赋予0000就行,也就是~(1111)就行了。
至此就把PC8和Tim3channel3关联了。
接下来就是如何选择Tim3的一些事项,下篇再讲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值