本帖最后由 Gdpbeyond 于 2011-6-29 10:49 编辑
情况:首先单片机STM32F103C8通过SPI向一个外部设备(可能理解为一个ADC器件)发送一个操作的启动命令,当外部设备执行完毕时,它的一个GPIO口(也就是和PB1相连的一个管脚)会出现一个上升沿,我用PB1的外中断来检测这个沿。
问题是这样的:这个设备初始化时,为完成某个操作,我需要通过扫描方式来检测这个沿。
具体步骤:屏蔽EXTI_LINEX的中断请求(在此这前PB1的外中断功能已配置完毕,经测试,外设的上升沿能正常使用中断检测)-->单片机发出设备动作的命令-->查询X线上是否已出现这个上升沿,可是我扫描不到X线出现的这个上升沿,请大侠解释下,多谢!
附程序:
//Disable DRDY pin interrupt
//在此这前PB1的外中断功能已配置完毕,经测试,
//外设的上升沿能正常使用中断检测
EXTI->IMR &= ~PL536_DRDY_EXTI_LINEX;
//Trigger ADC conversion and then..
bq_pack_start_conv();
//wait adc conversion over
//程序就死在了下面这一行了
while((EXTI->PR & PL536_DRDY_EXTI_LINEX) == RESET);
。。。。。。
/Enable DRDY pin interrupt
EXTI->IMR |= PL536_DRDY_EXTI_LINEX;
__delay_cycles(1000); |