查看: 1081|回复: 1

[MQX] MQX 在PIT中断服务程序中进行多通道ADC采集问题

[复制链接]

该用户从未签到

3

主题

8

帖子

0

新手上路

Rank: 1

积分
42
最后登录
2019-1-9
发表于 2019-1-9 14:39:52 | 显示全部楼层 |阅读模式
问题描述:开PIT定时中断(312.5us一次,3200Hz),中断内部对7个通道进行等待和读取采样值操作,总超时(>312.5us)无法跳出中断执行其他程序。 配置的采样频率是总线频率(60MHz/8),不应该用这么长时间的。 求大神指点一二,谢谢~!代码:

static void pit0_kernel_isr(void)
{
     pit0_kernel = 0;
     _bsp_int_disable(INT_PIT0);
     _qpit_clear_int(0, 0);   

    if (_lwadc_wait_next(&handle_ACIa) )
      {
        _lwadc_read(&handle_ACIa, &raw);
        ACSampling_Buff[0][SamplePoints] = raw;
      }       
     if (_lwadc_wait_next(&handle_ACIb) )
      {
        _lwadc_read(&handle_ACIb, &raw);
        ACSampling_Buff[1][SamplePoints] = raw;
      }
    if (_lwadc_wait_next(&handle_ACIc) )
      {
        _lwadc_read(&handle_ACIc, &raw);
        ACSampling_Buff[2][SamplePoints] = raw;
      }
     if (_lwadc_wait_next(&handle_ACIz) )
      {
        _lwadc_read(&handle_ACIz, &raw);
        ACSampling_Buff[3][SamplePoints] = raw;
      }


     if (_lwadc_wait_next(&handle_ACUa) )
      {
        _lwadc_read(&handle_ACUa, &raw);
        ACSampling_Buff[4][SamplePoints] = raw;
      }
     if (_lwadc_wait_next(&handle_ACUb) )
      {
        _lwadc_read(&handle_ACUb, &raw);
        ACSampling_Buff[5][SamplePoints] = raw;
      }
    if (_lwadc_wait_next(&handle_ACUc) )
      {
        _lwadc_read(&handle_ACUc, &raw);
        ACSampling_Buff[6][SamplePoints] = raw;
      }
     SamplePoints++;
       if(SamplePoints == 64)//连续采集64点存储一次
       {
         SamplePoints = 0;
         for(int i = 0;i < 7;i++)
         {
           for(int j = 0;j < 64;j++)
           {
             ACSampling_Save[i][j*2+1] = 0.0;
             ACSampling_Save[i][j*2] = (float)(ACSampling_Buff[i][j])-1.250/1000.0;//还需按照实部,虚部,实部,虚部.....的顺序存储数据才能进行FFT
                                                                                    //1250为理想基准值,提高精度可尝试实时测量
           }
         }   
       }
     //---

     _bsp_int_enable(INT_PIT0);
     _qpit_unmask_int(0, 0);
     pit0_kernel = 1;

    return;
}


最佳答案

请问您使用的是哪一款芯片
回复

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
19941
最后登录
2024-4-19
发表于 2019-1-10 16:46:20 | 显示全部楼层
请问您使用的是哪一款芯片
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-20 03:02 , Processed in 0.121469 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表