硬汉嵌入式论坛

 找回密码
 立即注册
查看: 242|回复: 7
收起左侧

[TIMER] 请问版主多个定时器同时开启怎么办?详见文内

[复制链接]

2

主题

2

回帖

8

积分

新手上路

积分
8
发表于 2025-9-18 16:56:11 | 显示全部楼层 |阅读模式
如图,如果在代码中我需要同时用到TIM2 TIM3 TIM4,用这个BSP驱动,改怎么配置呢?
77E394B0-0DB4-4e7f-8DD1-A93F9D2EB117.png
回复

使用道具 举报

2

主题

2

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2025-9-18 17:07:35 来自手机 | 显示全部楼层
有谁知道吗
回复

使用道具 举报

13

主题

59

回帖

98

积分

初级会员

积分
98
发表于 2025-9-18 17:31:55 | 显示全部楼层
得使用定时器的主从模式吧
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118318
QQ
发表于 2025-9-18 17:38:28 | 显示全部楼层
再创建个C文件,复制过去,函数名前面加static限制作用域,然后供外部文件调用的,设置个不同名字即可
回复

使用道具 举报

2

主题

2

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2025-9-18 17:52:41 | 显示全部楼层
eric2013 发表于 2025-9-18 17:38
再创建个C文件,复制过去,函数名前面加static限制作用域,然后供外部文件调用的,设置个不同名字即可

思来想去也就是只有这个办法,哎,羡慕之前F1系列时的那种标准的工程架构方式,至今思念,那种软件对底层硬件的清晰掌控性,如今的工程模板,乱啊。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118318
QQ
发表于 7 天前 | 显示全部楼层
lixu100 发表于 2025-9-18 17:52
思来想去也就是只有这个办法,哎,羡慕之前F1系列时的那种标准的工程架构方式,至今思念,那种软件对底层 ...

后面升级BSP,专门做个同时使用支持,方便大家使用,最近提议这个同时使用的用户还不少。
回复

使用道具 举报

13

主题

200

回帖

239

积分

高级会员

积分
239
发表于 7 天前 | 显示全部楼层
建议写成结构体的方式,比如
typedef struct
{
    uint8_t property1;
   uint16_t property2;
    void (*init)(TIM_TypeDef *timx, uint16_t freq, void (*callback)(void));
    ....
} bsp_tim_t;
后续使用就只需要定义:
bsp_tim_t   tim1, tim2, tim3;
tim1.init(TIM1, xxx, NULL);
...
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118318
QQ
发表于 6 天前 | 显示全部楼层
gallop020142 发表于 2025-9-19 17:13
建议写成结构体的方式,比如
typedef struct
{

好的,之前本意是仅设计一个,没考虑的后面需求多个同时使用的也不少。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-9-26 11:58 , Processed in 0.047073 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表