注册 登录
查看: 373|回复: 8

关于KL26的PWM的问题,大神快粗线啊啊啊

[复制链接]
发表于 2014-7-4 17:57:58 | 显示全部楼层 |阅读模式
按照山外KL26库调用PWM初始化函数,使用TPM0模块的 CH0 CH1 CH2 CH3 通道输出PWM波,但是只有CH1通道可以输出,其他管脚没反应。而且用TPM1 的ch1通道输出5MHZ的波 实测只有1M。但是用例程就好好的,困扰了好几天,十分烦恼啊。再解决不了,以后就可以每天都看世界杯了
回复

使用道具 举报

发表于 2014-7-4 20:52:16 | 显示全部楼层
初始化后在管脚复用表里看看定义。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-4 21:07:56 | 显示全部楼层
.____. 发表于 2014-7-4 20:52
初始化后在管脚复用表里看看定义。

我用的是A24、25、29、30四个引脚,可以吗
回复 支持 反对

使用道具 举报

发表于 2014-7-4 21:09:25 | 显示全部楼层
\Board\inc\FIRE_PORT_cfg.h  (打开看看,很容易知道如何配置的)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-4 21:13:09 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-4 21:09
\Board\inc\FIRE_PORT_cfg.h  (打开看看,很容易知道如何配置的)

我用的是E24、25、29、30。感觉配置没错呀,可是就是只有一路波
回复 支持 反对

使用道具 举报

发表于 2014-7-4 21:14:37 | 显示全部楼层
miss可可 发表于 2014-7-4 21:13
我用的是E24、25、29、30。感觉配置没错呀,可是就是只有一路波

只能在可选访问里选择哦,有没有选错。

把你pwm的初始化代码也发来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-4 21:16:26 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-4 21:14
只能在可选访问里选择哦,有没有选错。

把你pwm的初始化代码也发来看看
  1. tpm_pwm_init(TPM0, TPM_CH0,10000,50);     //初始化 TPM0_CH0 (PTE24_IN1 脚)为 频率1KHz  的PWM,占空比为
  2. tpm_pwm_init(TPM0, TPM_CH2,10000,50);     //初始化 TPM0_CH2 (PTE29_IN3 脚)为 频率 1KHz 的PWM,占空比为
  3. tpm_pwm_init(TPM0, TPM_CH3,10000,50);     //初始化 TPM0_CH3 (PTE30_IN4 脚)为 频率 1KHz 的PWM,占空比为
  4. tpm_pwm_init(TPM0, TPM_CH1,10000,50);     //初始化 TPM0_CH5 (PTE26_IN2 脚)为 频率 1KHz 的PWM,占空比为
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-4 21:22:23 | 显示全部楼层
  1. void Motor_Init()  
  2. {
  3.    //gpio_init (PTE25, GPO,0);    //初始化 PTE16 管脚为输入
  4.    //gpio_init (PTE24, GPO,0);    //初始化 PTE16 管脚为输入
  5.    //gpio_init (PTE29, GPO,0);    //初始化 PTE16 管脚为输入
  6.    //gpio_init (PTE30, GPO,0);    //初始化 PTE16 管脚为输入
  7.   port_init (PTE24,  ALT1 | PULLDOWN );
  8.   port_init (PTE25,  ALT1 | PULLDOWN );
  9.   port_init (PTE29,  ALT1 | PULLDOWN );
  10.   port_init (PTE30,  ALT1 | PULLDOWN );
  11.   tpm_pwm_init(TPM0, TPM_CH0,10000,50);     //初始化 TPM0_CH0 (PTE24_IN1 脚)为 频率1KHz  的PWM,占空比为
  12.   tpm_pwm_init(TPM0, TPM_CH2,10000,50);     //初始化 TPM0_CH2 (PTE29_IN3 脚)为 频率 1KHz 的PWM,占空比为
  13.   tpm_pwm_init(TPM0, TPM_CH3,10000,50);     //初始化 TPM0_CH3 (PTE30_IN4 脚)为 频率 1KHz 的PWM,占空比为
  14.   tpm_pwm_init(TPM0, TPM_CH1,10000,50);     //初始化 TPM0_CH1 (PTE25_IN2 脚)为 频率 1KHz 的PWM,占空比为
  15.       tpm_pwm_init(TPM2, TPM_CH1,10000,50);     //初始化 TPM0_CH1 (PTE25_IN2 脚)为 频率 1KHz 的PWM,占空比为
  16.   tpm_pwm_init(TPM2, TPM_CH1,10000,50);     //初始化 TPM0_CH1 (PTE25_IN2 脚)为 频率 1KHz 的PWM,占空比为

  17.     tpm_pwm_init(TPM2, TPM_CH0,10000,50);     //初始化 TPM0_CH1 (PTE25_IN2 脚)为 频率 1KHz 的PWM,占空比为

  18. }  
  19. 这个是完整的电机初始化
回复 支持 反对

使用道具 举报

发表于 2014-7-4 21:23:56 | 显示全部楼层
既然例程是好的,说明你修改了底层的一些参数啊。
你在例程的基础上重新修改,看看行不行
回复 支持 反对

使用道具 举报

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

本版积分规则

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