金牌会员
- 积分
- 1242
- 威望
- 760
- 贡献
- 412
- 兑换币
- 156
- 注册时间
- 2011-11-10
- 在线时间
- 35 小时
|
FTM1_CH0~PA8,当选PA9输出PWM,PA8捕获时正常,
FTM1_CH1~PA9,当选PA8输出PWM,PA9捕获时无现象,
按理说FTM1的两个通道都可以作为输出或捕获,不明白为什么把捕获和输入的通道换了之后就不好使了?
以下是程序:
/*************************************************************************
* 函数名称:main
*************************************************************************/
void main(void)
{
DisableInterrupts; //禁止总中断
gpio_init(PORTA,8,GPO,HIGH); //PA8产生PWM波
gpio_init(PORTA,14,GPO,HIGH); //初始化LED
FTM_Input_init(FTM1,CH1,Falling); //TIM1_CH1捕获PWM波
EnableInterrupts;
while(1)
{
gpio_set(PORTA,8,LOW);
time_delay_ms(250);
gpio_set(PORTA,8,HIGH);
time_delay_ms(250);
}
}
/*************************************************************************
* 函数名称:FTM1_IRQHandler
* 功能说明:FTM1输入捕获中断服务函数
*************************************************************************/
void FTM1_IRQHandler(void)
{
u8 sign=FTM1_STATUS; //读取中断标志
FTM1_STATUS=0x00; //清除中断标志
u8 CHn=1;
if(sign&(1<<CHn))
{
FTM_IRQ_DIS(FTM1,CHn); //禁止输入捕捉中断
gpio_turn(PORTA,14);
FTM_IRQ_EN(FTM1,CHn); //开启输入捕捉中断
}
}
|
|