在线时间0 小时
UID2021091
注册时间2013-6-25
NXP金币0
该用户从未签到
新手上路
- 积分
- 36
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2013-7-5 09:48:11
|
显示全部楼层
回复:MKL25Z128输出比较问题
回复第 4 楼 于2013-07-05 09:37:48发表:
现在工程也能实现方波输出,但是方波边沿的变化发生在CNT=3000时,是吗?能将你的工程全部放上去吗,帮你看一看。
void Output_Compare_Init(void)
{
SIM_SCGC6 |= SIM_SCGC6_TPM2_MASK ;
SIM_SOPT2 |= SIM_SOPT2_PLLFLLSEL_MASK | SIM_SOPT2_TPMSRC(1); //´ò¿ªÊ±ÖÓÃÅ
TPM2_SC = TPM_SC_CMOD(1) | TPM_SC_PS(3) | TPM_SC_TOIE_MASK; //8·ÖƵ
TPM2_CNT = 0;
TPM2_MOD =3000;
NVIC_EnableIRQ(TPM2_IRQn);
NVIC_SetPriority(TPM2_IRQn,3); /* Óû§×Ô¼º¶¨Òå */
}
void Output_Compare_Open(void)
{
SIM_SCGC5 |= SIM_SCGC5_PORTE_MASK;
TPM2_C0SC &= ~(TPM_CnSC_MSA_MASK |TPM_CnSC_MSB_MASK|TPM_CnSC_ELSA_MASK|TPM_CnSC_ELSB_MASK);
TPM2_C0SC |= TPM_CnSC_MSA_MASK | TPM_CnSC_ELSA_MASK;
TPM2_C0V = 1500;
PORTE_PCR22 = ( 0 | PORT_PCR_MUX(3));
}
void TPM2_IRQHandler(void)
{
TPM2_CNT = 0;
printf("interrupt");
}
int main (void)
{
int i = 0;
SystemCoreClockUpdate(); /* ʱÖÓÅäÖà */
delay_init(48);
PORT_ENABLE_CLK(MKL_PORTA); /* GPIOʱÖÓʹÄÜ */
PORT_ENABLE_CLK(MKL_PORTB);
PORT_ENABLE_CLK(MKL_PORTC);
PORT_ENABLE_CLK(MKL_PORTD);
PORT_ENABLE_CLK(MKL_PORTE);
uart1Init(9600,0,0,8,1); /* UART1³õʼ»¯ */
printf("systemclock = %d\n\r",SystemCoreClock);
// PWM_Init(24,38000);
// PMW_OPEN(100);
Output_Compare_Init();
Output_Compare_Open();
while(1){
// i++;
// delay_ms(10000);
// PWM_Chinge(500);
// printf("hello world");
// if(i == 950) i = 0;
// printf("i = %d\n\r",i); */
// Output_Compare_Open();
}
}
这就是我全部的代码了。谢谢你哦 |
|