コード例 #1
0
ファイル: application.c プロジェクト: gabobx/EjercicoFinalDSP
/* Private functions ---------------------------------------------------------*/
int32_t getDataCB(int16_t *pBuff, int32_t length)
{
	
	q15_t rms;
	
  UINT bytesread = 0;
  
  f_read(&FileRead, pBuff, length*sizeof(int16_t), (void *)&bytesread); 
  
  audioFilter_filter(pBuff, pBuff, bytesread/sizeof(int16_t));
	
	arm_rms_q15(pBuff,bytesread/sizeof(int16_t),&rms);
	
	printf("valor rms: %u \n",rms);
	if(rms>1000){
		if((conteo<5)&(led3on==0)){
			if(TickTock_Get() > 700000){
				TickTock_Start();
				BSP_LED_On(LED6);
				conteo++;
				primpulso=0;
			}
		}else if((conteo==5) & (TickTock_Get() > 800000)){
			TickTock_Start();
			BSP_LED_On(LED3);
			primpulso=1;
			conteo=0;
			led3on=1;
		}
	}else{
		LEDsState = LEDS_OFF;
		led3on=0;
	}
  
  return bytesread;
}
コード例 #2
0
int32_t getDataSineCB(int16_t *pBuff, int32_t length)
{
  static int8_t count = 0;
  int32_t ret = length * 2;
  
  TickTock_Start();
  
  while (length)
  {
    *pBuff = sine_500hz_FS8khz[count];
    count++;
    if (SINE_GEN_500HZ_LENGTH <= count)
    {
      count = 0;
    }
    pBuff++;
    length--;
  }
  
  TickTock_Stop();
  
  return ret;
}