本帖最后由 guohuicn 于 2011-5-16 15:18 编辑
测试·stm8s105s4的PD7只能做TLI脚不能做PORTD外部中断?
且无论是配置成IO脚外部中断还是TLI中断都只进入TLI中断函数?
配置如下
PD_DDR &= (u8)~0x80;//PD7设为输入
PD_CR1 |= 0x80;//PD7设为上拉输入
#ifdef pd7_tli_test
PD_CR2 &= (u8)~0x80;//PD7外部中断禁止
EXTI_CR2 &= (u8)~0x04;//TLIS下降沿中断
PD_CR2 |= 0x80;//PD7外部中断使能
#else
PD_CR2 |= 0x80;//PD7外部中断使能
EXTI_CR1 &= (u8)~0xc0;
EXTI_CR1 |= 0x80;//PORTD下降沿中断
#endif
中断函数如下
@far @interrupt void TLI_IRQHandler(void)
{
PD_ODR ^= 0x01;
return;
}
@far @interrupt void EXTI_PORTD_IRQHandler(void)
{
PD_ODR ^= 0x08;
return;
}
配置成io脚外部中断方式为下降沿和低电平触发模式时仅能在下降沿触发TLI中断
PD_CR2 |= 0x80;//PD7外部中断使能*PD7只能是TLI中断
EXTI_CR1 &= (u8)~0xc0;//下降沿和低电平触发
AFR4 备选功能重映射选项4
0:端口D7备选功能为TLI
1:端口D7备选功能为TIM1_CH4
结论:pd7仅能边沿触发且只能产生TLI中断?不知道是不是可以这样理解? |