智能车制作
标题:
新手求助,关于coldfire一段简单的程序,为何引脚输出波形不同?
[打印本页]
作者:
机电狗一只
时间:
2016-1-18 17:21
标题:
新手求助,关于coldfire一段简单的程序,为何引脚输出波形不同?
#include "PWM.h"
/*************************************************************/
/* 初始化PWM */
/*************************************************************/
void PWM_INIT(void)
{
//设置A时钟频率和B时钟频率,分频系数为4,总线频率经过分频后为4MHz,fA = fBus ÷ 2^PCKA
MCF_PWM_PWMPRCLK=MCF_PWM_PWMPRCLK_PCKA(4)
|MCF_PWM_PWMPRCLK_PCKB(4);
//设置SA时钟频率和SB时钟频率, SA=Clock A/2*PWMSCLA; SB=Clock B/2*PWMSCLB
MCF_PWM_PWMSCLA=2; //SA时钟频率为1MHz
MCF_PWM_PWMSCLB=2; //SB时钟频率为1MHz
//选择PWM时钟,选择SA或SB时钟
MCF_PWM_PWMCLK=MCF_PWM_PWMCLK_PCLK3
|MCF_PWM_PWMCLK_PCLK5;
//设置PWM对齐方式,设置为左边缘对齐。
MCF_PWM_PWMCAE=0;
//使能PWM引脚功能
MCF_GPIO_PTAPAR|= MCF_GPIO_PTAPAR_ICOC1_PWM3
|MCF_GPIO_PTAPAR_ICOC2_PWM5;
//级联
MCF_PWM_PWMCTL= MCF_PWM_PWMCTL_CON23;
MCF_PWM_PWMCTL= MCF_PWM_PWMCTL_CON45;
//设置PWM极性,高有效
MCF_PWM_PWMPOL= MCF_PWM_PWMPOL_PPOL5;
MCF_PWM_PWMPOL=MCF_PWM_PWMPOL_PPOL3;
//复位PWM计数器
MCF_PWM_PWMCNT3=0;
MCF_PWM_PWMCNT5=0;
//设置PWM周期
MCF_PWM_PWMPER(3)=10000/300; //
MCF_PWM_PWMPER(5)=10000/300; //300Hz
//设置PWM的占空比
MCF_PWM_PWMDTY(3)=200; //占空比
MCF_PWM_PWMDTY(5)=200; //占空比
//使能PWM输出
MCF_PWM_PWME=MCF_PWM_PWME_PWME3
|MCF_PWM_PWME_PWME5;
}
按理说,P3口与P5口输出的波形都是一样的,但是我分别用示波器检测了它们的波形,却发现P3口正常输出方波,而P5口输出的却是看不懂的波形。
作者:
机电狗一只
时间:
2016-1-18 19:33
别沉,谁能告诉我程序对不对........
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2