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

PWM引脚问题

[复制链接]
发表于 2014-11-17 10:59:23 | 显示全部楼层 |阅读模式
对于KL26的PWM初始化,如果按照下面的函数初始化 TPM0_CH3,那么初始化的引脚不仅仅只有PTE30了,还有PTA6、PTC4、PTD3。这不就造成了当我用到PTA6、PTC4、PTD3干其他事而非使用PWM的功能的时候,不就引起冲突了。这可如何是好???
tpm_pwm_init(TPM0, TPM_CH3,200*1000,30);        //初始化 TPM PWM ,使用 TPM0_CH3,频率为200k ,占空比为 30 / TPM0_PRECISON
                                                                             // port_cfg.h 里 配置 TPM0_CH3 对应为 PTE30
port_cfg.h里的宏定义为:#define TPM0_CH3_PIN    PTE30        //PTE30、PTA6、PTC4、PTD3


回复

使用道具 举报

发表于 2014-11-17 11:23:28 | 显示全部楼层
只复用其中的一个而已。例如上诉代码复用到PTE30
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-17 11:59:27 | 显示全部楼层
如果我想用PTD3的串口功能,是不是需要重新经PTD3初始化且将PTD3的初始化放在tpm_pwm_init(TPM0, TPM_CH3,200*1000,30); 的后面??
回复 支持 反对

使用道具 举报

发表于 2014-11-17 12:54:56 | 显示全部楼层
龙龙 发表于 2014-11-17 11:59
如果我想用PTD3的串口功能,是不是需要重新经PTD3初始化且将PTD3的初始化放在tpm_pwm_init(TPM0, TPM_CH3,2 ...

不需要,可选范围里,只有一个是生效的。就是注释前面的那个。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-17 14:55:24 | 显示全部楼层
感觉楼主没搞定这部分代码
#define TPM0_CH3_PIN    PTE30        //PTE30、PTA6、PTC4、PTD3

仅仅是PTE30有效,其他的都注释掉。就是TPM0_CH3管脚就是PTE30
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-17 17:40:46 | 显示全部楼层
#define TPM0_CH3_PIN    PTE30        //PTE30、PTA6、PTC4、PTD3明白了,如果我想使能PTD3的PWM功能的话,只需要把宏定义改为:#define TPM0_CH3_PIN    PTD3就行了吧。一语惊醒梦中人啊,多谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-17 17:42:28 | 显示全部楼层
然后初始化函数都是一样的。。。,哎,没认真想,让大家见笑了
回复 支持 反对

使用道具 举报

发表于 2014-11-17 17:48:44 | 显示全部楼层
龙龙 发表于 1416217348
然后初始化函数都是一样的。。。,哎,没认真想,让大家见笑了
是一样的,我们这样的架构方式,就比较方便快速修改管脚。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

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

本版积分规则

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