查看: 2380|回复: 2

[求助] 新手求助大神给看看程序

[复制链接]

该用户从未签到

4

主题

9

帖子

0

新手上路

Rank: 1

积分
46
最后登录
1970-1-1
发表于 2013-3-12 12:14:52 | 显示全部楼层 |阅读模式
 我想用pdb的脉冲模式,产生一个脉冲(ftm通道用满了。。。)
自己写的pdb产生脉冲通过cmp输出,没有输出,所以求大神们抽空给看看,在这里小弟先谢过了。。。。
**-------------------------------------------------------------
** MCU         : K60(Freescale)
** Crystal     :
** Module Name : PDB.c
Author         : 
Date           : 2013.02.12
** Version     : v1.0
** description :
** Notes       :
PDB的脉冲模式
Pules-Out 产生驱动舵机的100hz的脉冲
**-------------------------------------------------------------
** Reversion    :
** Modified By  :
** Modified Date:
** Notes        :
**************************************************************/


#include "pdb.h"
#include "common.h"



void pdb_init(void)
{
  //使能PDB时钟
  SIM_SCGC6 |= SIM_SCGC6_PDB_MASK ;
  //PDB_sc设置
  //时钟分频频率 
  //f_PDB = bus / (mult * prescale)
  // 48m/16=3m
    PDB_SC_REG(PDB0_BASE_PTR) = PDB_SC_DMAEN_MASK    //Dma enable
                     | PDB_SC_CONT_MASK     //连续模式
                     | PDB_SC_TRGSEL(trgsel) //触发模式
                     | PDB_SC_MULT(mult)     //倍频因数
                     | PDB_SC_PRESCALER(prescale) //分频因数
                     | PDB_SC_LDMOD(ldmod);       //设置加载模式                 
                     
     PDB_MOD_REG(PDB0_BASE_PTR) = PDB_MOD_MOD(30000); // 频率为100hz
     
     //脉冲使能
     PDB_POEN_REG(PDB0_BASE_PTR) |= PDB_POEN_POEN_MASK;
     
     //脉冲输出计时值   初始化
     PDB_PODLY_REG(PDB0_BASE_PTR) = PDB_PODLY_DLY1(1000)   //到值为高电平
                                   |PDB_PODLY_DLY2(16000);  //到值为低电平
                              
                       
                       
   PDB_SC_REG(PDB0_BASE_PTR) =  PDB_SC_PDBEN_MASK      //pdb 使能
                     | PDB_SC_LDOK_MASK       //把更新的寄存器值装载到寄存器
                     | PDB_SC_SWTRIG_MASK ;   //使能软件触发,计数器复位


   
}
pdb.h



#define trgsel     (15)   //软件触发
#define mult       (0)
#define prescale   (4)
#define ldmod      (0)



#define SET_PWM_SVO_SHAKE(x)    \
  {PDB_PODLY_REG(PDB0_BASE_PTR) |= PDB_PODLY_DLY1(0)|PDB_PODLY_DLY2(x);   \
   PDB_SC_REG(PDB0_BASE_PTR) |=  PDB_SC_LDOK_MASK|PDB_SC_SWTRIG_MASK ;}   //使能软件触发,计数器复位


extern void pdb_init(void);


**-------------------------------------------------------------
** MCU         : K60(Freescale)
** Crystal     :
** Module Name : CMP.c
Author         : 
Date           : 2013.02.12
** Version     : v1.0
** description :
** Notes       :
CMP的窗口模式
可以使能PDB的脉冲模式的引脚输出
Pules-Out 产生驱动舵机的100hz的脉冲
**-------------------------------------------------------------
** Reversion    :
** Modified By  :
** Modified Date:
** Notes        :
**************************************************************/

#include "common.h"
#include "cmp.h"


void cmp_init(void)
{
  //开时钟
SIM_SCGC4 |= SIM_SCGC4_CMP_MASK ;

//功能复用



//  窗口模式使能
  
  CMP0_CR1 |= CMP_CR1_WE_MASK //窗口使能
            |CMP_CR1_EN_MASK //比较模块使能
  //        |CMP_CR1_PMODE_MASK  //快速模式
            |CMP_CR1_OPE_MASK ;  //ope  输出引脚使能
            
  CMP0_SCR |= CMP_SCR_COUT_MASK;  // 引脚输出

  /* 
  //功能复用寄存器
  CMP0_MUXCR = CMP_MUXCR_MSEL_MASK
              |CMP_MUXCR_PSEL_MASK
              |CMP_MUXCR_MSEL(0)
              |CMP_MUXCR_PSEL(0);
  */
  
我知道答案 目前已有1人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2013-3-12 15:21:01 | 显示全部楼层

    RE:新手求助大神给看看程序

    看配置没有太大问题,你看一下能不能进入中断函数。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    9

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    1970-1-1
     楼主| 发表于 2013-3-12 22:34:46 | 显示全部楼层

    回复:新手求助大神给看看程序

    回复第 2 楼 于2013-03-12 15:21:01发表:
    看配置没有太大问题,你看一下能不能进入中断函数。
    这个怎么看中断函数呀,没有中断函数吧,不是直接就引脚输出了吗????
     
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-8 05:10 , Processed in 0.092054 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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