打印

关于外中断的疑问

[复制链接]
1396|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Gdpbeyond|  楼主 | 2011-6-29 10:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TI, nex, pi, ADC, IO
本帖最后由 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);
沙发
Gdpbeyond|  楼主 | 2011-6-29 10:50 | 只看该作者
上述操作是在用ST-LINK仿真下进行的,不知道这个会不会有影响!

使用特权

评论回复
板凳
Gdpbeyond|  楼主 | 2011-6-29 12:07 | 只看该作者
自己顶下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

216

帖子

0

粉丝