اطلاعیه

Collapse
No announcement yet.

نمایش سیگنال pwm ال سیدی گرافیکی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    نمایش سیگنال pwm ال سیدی گرافیکی

    سلام
    میخاستم با بسکام یه سیگنال pwm رو روی ال سی دی نمایش بدم اما برای بسکام چیزی پیدا نکردم
    یه برنامه به زبان سی هست که 4 تا ورودی رو میتونه مانیتور کنه کسی از دوستان میتونه کانورتش کنه به بسکام
    کد:
    void printCapturedData (unsigned long position, unsigned char inputChannel)
    {
    	unsigned int m,j, b,sampleLength,n,samplLength;
    	unsigned char w, sample, nextSample = 0;
    	unsigned long lengthSum,oldLength;
    
    	lcd_clear_area(1,1,42);
    
    	ltoa(position,int2str,10);
    	w = strlen(int2str);
    	lcd_goto_xy(9-w,1);
    	lcd_str(int2str);
    	lcd_goto_xy(1,inputChannel + 3); //Go to LCD line 3, 4, 5 or 6.
    
    	n = 0;
    	w = 1;
    	b = 0;
    	lengthSum = 0;
    	oldLength = 0;
    	samplLength = 0;
    
    	sampleLength = lengthBuffer[b];
    	do
    	{
    		lengthSum += sampleLength;
    		if(samplesPos > lengthSum)
    		{
    			oldLength += sampleLength;
    			b++;
    			sampleLength = lengthBuffer[b];
    		}
    	}while(samplesPos > lengthSum);
    
    	for(m=b;m<BUFFER_SIZE;m++)
    	{
    		sampleLength = lengthBuffer[m];
    		if(w > 0)
    		{
    			sampleLength -= (samplesPos - oldLength);
    			w=0;			
    		}
    		
    		sample = dataBuffer[m];
    		if((m+1) < (BUFFER_SIZE))
    		{
    			nextSample = dataBuffer[m+1]; 
    			nextSample ^= sample;
    		}
    		samplLength = sampleLength;
    		if(zoom > 0)
    			samplLength /= zoom; 
    
    		for(j=0;j<samplLength;j++)
    		{
    			if(bit_is_set(sample,inputChannel))
    				lcd_col(ONE); //1
    			else
    				lcd_col(ZERO);//0
    			n++;
    
    			if(n >= ONE_LINE_LENGTH)
    				break;
    		}
    		if(bit_is_set(nextSample,inputChannel))
    		{
    				lcd_pixelBack();
    				lcd_col(TRANSITION);
    				nextSample = 0; //Set nextSample to <No Sample> status.
    		}
    
    		if(n >= ONE_LINE_LENGTH)
    			break;
    	}
    }
لطفا صبر کنید...
X