Re: dsPIC30f4011_makewaves函式使用方法

作者 Ryang 於 2017年04月12日 12:27:19

void makewaves
(void)
{
        
unsigned int n;

        
fsample = 10000;        // 10 Khz sampling example
        
freqa   =     847;        // 847 Hz sine wave
        
freqb    =    367;        // 367 Hz sine wave
        
freqc     =     123;        // 123 Hz sine wave
            
            
for (n=0; n < NUM_SAMPLES; n++)
            {
                    
fINA[n] = sin((2*PI*freqa*n)/fsample);                // Create sine wave of Frequency freqa
                    
fINB[n] = sin((2*PI*freqb*n)/fsample);                // Create sine wave of Frequency freqb
                    
fINC[n] = sin((2*PI*freqc*n)/fsample);                // Create sine wave of Frequency freqc
                    
array[n] = ((fINA[n]+fINB[n]+fINC[n])/3)*0x8000;    // Scaled as fractional integer values
                    
array_plot[n] = ((array[n]+0x8000)/256);             // Scaled for UART Charting Utility
            
}
                
}


在教育訓練光碟下的 " 16-Bits MCU 相關課程" 裡有一門教育訓練課程 : dsPIC101 dsPIC30F MPLAB C30基礎課程

裡面的練習六有一個 multi sine wawv 2 的產生函數用來練習 FFT 的功能。

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=2&topic_id=20578&post_id=74830