[STM32F1] 在AD多通道连续转换如何进入IO口中断

[复制链接]
1215|10
 楼主| feiqi1 发表于 2018-6-3 18:24 | 显示全部楼层 |阅读模式
最近在做简易示波器,在进行多通道连续采样时怎么进入IO口中断 进如定时器转换时打开全局好、中断使能的话进入死循环(硬件仿真器仿真的),希望大神给个好的建议
 楼主| feiqi1 发表于 2018-6-3 18:24 | 显示全部楼层
P1IE=0X00;
  delay_ms(50);
   static unsigned int i=0;
  if(P1IFG & BIT0)  //P1.0发生中断
  {
    Lcd_Clear_GDRAM_All_RAM();  //清楚整个主控的绘图RAM
    Lcd_Clear_Display();        //清理屏幕显示部分

      switch(i)
  {
   case 0:
     {
       ADC12CTL0 &=~ENC;
       P6SEL |= BIT0+BIT1;                            // 使能ADC通道
       ADC12CTL0 = MSC+ADC12ON+SHT0_0;           // 打开ADC,设置采样时间
       ADC12CTL1 =SHP+CONSEQ_1+ADC12SSEL_0+ADC12DIV_0;                 // 使用采样定时器
       ADC12MCTL0 |=INCH_0;//通道选择
       ADC12MCTL1 |=INCH_1+EOS;
       ADC12IE |=BIT1;                           // 使能ADC中断
       ADC12CTL0 |= ENC;                         // 使能转换
   //    ADC12CTL0 |= ENC;                         // 使能转换
      Lcd_Draw_List_Char_RAM(3,1,hz[0],DISPLAY);     
      i++;
      break;
     }
androidbus 发表于 2018-6-3 18:27 | 显示全部楼层
多通道连续采样和IO口中断没有关系呢
litengg 发表于 2018-6-3 18:41 | 显示全部楼层
我研究不深入 我解决这个问题方法是把多通道连续采样改为多通道单次采样
qiangweii 发表于 2018-6-3 18:42 | 显示全部楼层
开始的连续采样你是放在中断里的,然后占用了大量时间,导致了io中断不能及时响应
shashaa 发表于 2018-6-3 18:46 | 显示全部楼层

这个采集数据的时候最好使用中断采集模式。
xia00 发表于 2018-6-3 18:48 | 显示全部楼层
这个最好是改在中断里面完成的比较好。
hfdy01 发表于 2018-6-3 18:48 | 显示全部楼层
看不懂这个有什么关系呢。多通道连续采样和IO中断没关系的。
CallReceiver 发表于 2018-6-3 18:52 | 显示全部楼层
中断里连续采样,会占用时间资源
boy1990 发表于 2018-6-3 18:53 | 显示全部楼层
不要在中断里面写程序
sourceInsight 发表于 2018-6-3 18:58 | 显示全部楼层
执行太多就会降低运行效率。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1627

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部