m0_57531254 2022-11-21 17:03 采纳率: 16.7%
浏览 23
已结题

DSP电压采集与串口发送

AD的采样频率为100HZ,去采样一个20HZ的正弦信号,一个周期内按说可以采集100个点,但是采集然后采集一个输出一个你就会发现一个周期内才采样了16个点,这是为什么呢?
我的串口也不慢了,波特率为256000,我的AD采集快,而我串口并不能及时发送,如何解决这个问题,请给出解决程序。串口发送程序如下所示,将AD采集的结果用字符串的形式发送出去,

img

    while(1)
    {
     while (AdcRegs.ADCST.bit.INT_SEQ1== 0){}
     AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;

    adc_vol=((AdcRegs.ADCRESULT0)>>4)*3.0/4095;
    LED4_TOGGLE;
    adc_temp=adc_vol*100000;
    adcbuf[0]=adc_temp/100000+0x30;
    adcbuf[1]='.';
    adcbuf[2]=adc_temp%100000/10000+0x30;
    adcbuf[3]=adc_temp%100000%10000/1000+0x30;
    adcbuf[4]=adc_temp%100000%10000%1000/100+0x30;
    adcbuf[5]=adc_temp%100000%10000%1000%100/10+0x30;
    adcbuf[6]=adc_temp%100000%10000%1000%100%10+0x30;
    adcbuf[7]='\0';
    UARTa_SendString("\r\nVOLT=");
    UARTa_SendString(adcbuf);
    }

  • 写回答

5条回答 默认 最新

  • Fantasy237 2022-11-21 17:23
    关注
    获得1.95元问题酬金

    有一个问题:为什么100Hz采样频率,采样20Hz信号,每个周期能有100个点? 看起来是5个点? ——好吧这个是我理解有问题,意思是1s 100个点。。

    还有一些问题:

    1. 你说的1秒16个点,是基于串口返回了16个相同的值?照理每次ADC的信号略微会有些不同,这个看起来像是同一个数据发了16遍。
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月29日
  • 创建了问题 11月21日