AD的采样频率为100HZ,去采样一个20HZ的正弦信号,一个周期内按说可以采集100个点,但是采集然后采集一个输出一个你就会发现一个周期内才采样了16个点,这是为什么呢?
我的串口也不慢了,波特率为256000,我的AD采集快,而我串口并不能及时发送,如何解决这个问题,请给出解决方案。发送程序如下所示, 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);
}
adcbuf[2]=dac_temp/10000%10+'0';
adcbuf[3]=adc_temp/1000%10+'0';
adcbuf[4]=adc_temp/100%10+'0';
adcbuf[5]=adc_temp/10%10+'0';
adcbuf[6]=adc_temp%10+'0';