注册 登录
查看: 347|回复: 7

在TPM脉冲计数的时候,用的B16和B17,需要改端口配置吗?

[复制链接]
发表于 2014-6-30 14:20:31 | 显示全部楼层 |阅读模式
#define TPM_CLKIN0_PIN  PTC12       //PTA18、PTB16、PTC12、PTE16、PTE29     PTA18不要用 (与晶振冲突)
#define TPM_CLKIN1_PIN  PTC13       //PTA19、PTB17、PTC13、PTE17、PTE30              PTA19不要用 (与晶振冲突)
这里是不是把PTC12改为B16呢?把C13改为B17呢?
tpm_pulse_init(TPM2,TPM_CLKIN0,TPM_PS_1);
tpm_pulse_init(TPM2,TPM_CLKIN1,TPM_PS_1);
这样初始化正确吗?
还有一点不懂的是TPM_CLKIN0怎么跟TPM_CLKIN0_PIN对应的呢?也就是怎么知道TPM_CLKIN0用的是哪个管脚?
回复

使用道具 举报

发表于 2014-6-30 14:57:24 | 显示全部楼层
可以把PTC12改为PTB16/把PTC13改为PTB17
回复 支持 反对

使用道具 举报

发表于 2014-6-30 14:58:28 | 显示全部楼层
tpm_pulse_init(TPM2,TPM_CLKIN0,TPM_PS_1);
tpm_pulse_init(TPM2,TPM_CLKIN1,TPM_PS_1);

一个模块只可以计数一个,你不能两个管脚都来技术 TPM2

你可以把其中一个 TPM2 改成  TPM1:
tpm_pulse_init(TPM1,TPM_CLKIN0,TPM_PS_1);
tpm_pulse_init(TPM2,TPM_CLKIN1,TPM_PS_1);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-30 15:10:48 | 显示全部楼层
山外メ雲ジ 发表于 2014-6-30 14:58
tpm_pulse_init(TPM2,TPM_CLKIN0,TPM_PS_1);
tpm_pulse_init(TPM2,TPM_CLKIN1,TPM_PS_1);

模块跟管脚定义无关吗?是不是三个模块随便用吗?(TPM0已经用在电机那一块了,还能用吗)?

回复 支持 反对

使用道具 举报

发表于 2014-6-30 15:13:30 | 显示全部楼层
专注~独立 发表于 2014-6-30 15:10
模块跟管脚定义无关吗?是不是三个模块随便用吗?(TPM0已经用在电机那一块了,还能用吗)?

TPM_CLKINn 管脚可以动态绑定到 TPMx 的3个模块(随意绑定)

一个TPM模块同一时间只能干一个活!!如果TPM0 用于PWM,就不能再用来脉冲技术
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-30 15:20:12 | 显示全部楼层
山外メ雲ジ 发表于 2014-6-30 15:13
TPM_CLKINn 管脚可以动态绑定到 TPMx 的3个模块(随意绑定)

一个TPM模块同一时间只能干一个活!!如果 ...

怎么绑定的呢?
是通过
#define TPM_CLKIN0_PIN  PTC12       //PTA18、PTB16、PTC12、PTE16、PTE29     PTA18不要用 (与晶振冲突)
#define TPM_CLKIN1_PIN  PTC13       //PTA19、PTB17、PTC13、PTE17、PTE30
这样绑定的吗?
回复 支持 反对

使用道具 举报

发表于 2014-6-30 15:22:29 | 显示全部楼层
专注~独立 发表于 2014-6-30 15:20
怎么绑定的呢?
是通过
#define TPM_CLKIN0_PIN  PTC12       //PTA18、PTB16、PTC12、PTE16、PTE29    ...

初始化的时候传递参数啊,刚才不是贴了代码给你了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-30 15:24:23 | 显示全部楼层
山外メ雲ジ 发表于 2014-6-30 15:22
初始化的时候传递参数啊,刚才不是贴了代码给你了吗?

谢谢了,是的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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