Exemple #1
0
void Scope(void)
{
    //scope_buf[0] = angle_raw;
    //scope_buf[1] = gyro_raw;
    //scope_buf[2] = turn_raw;
    int ad_data[5];
#if AD
    ad_data[0] = ADC_QuickReadValue(AD0);
    ad_data[1] = ADC_QuickReadValue(AD1);
    ad_data[2] = ADC_QuickReadValue(AD2);
    ad_data[3] = ADC_QuickReadValue(AD3);
    ad_data[4] = ADC_QuickReadValue(AD4);
    
    scope_buf[0] = ad_data[0];
    scope_buf[1] = ad_data[1];
    scope_buf[2] = ad_data[2];
    scope_buf[3] = ad_data[3];
    scope_buf[4] = ad_data[4];
    
#else
    scope_buf[3] = angle;
    scope_buf[4] = gyro;
    scope_buf[5] = angle_balance;
    scope_buf[6] = balance_pwm;
    
    scope_buf[8] = ChlValue[0];
    scope_buf[9] = ChlValue[1];
#endif
}
Exemple #2
0
void CCD_gather(void)
{
	uint8_t i;
	
//采集上次曝光的得到的图像
	CCD_CLK(0);
	__nop();
	CCD_SI(1);  //开始SI
	__nop();
	CCD_CLK(1);
	__nop();
	CCD_SI(0);
	__nop();
	
	
	for(i=0;i<128;i++)   //采集1-128个像素点
	{
	  CCD_CLK(0);
	  __nop();
		CCD_original_data[i+2] = ADC_QuickReadValue(ADC0_SE8_PB0);
		CCD_CLK(1);
		__nop();
	}
	
	__nop();   //发送第129个CLK
	CCD_CLK(1);
	__nop();
	CCD_CLK(0);
	__nop();
	
	DelayMs(30);	//曝光时间
}
Exemple #3
0
static int DoADC(int argc, char * const argv[])
{
    int i;
    int result;
    
    /* decode MAP */
    uint32_t map = BOARD_ADC_MAP;
    QuickInit_Type type;
    QuickInitDecode(map, &type);
    printf("ADC%d CH%d:\r\n", type.ip_instance, type.channel);
    printf("PIN: P%c%d\r\n", type.io_instance+'A', type.io_offset);
    
    
    ADC_QuickInit(BOARD_ADC_MAP, kADC_SingleDiff12or13);

    for(i=0;i<20;i++)
    {
        result = ADC_QuickReadValue(BOARD_ADC_MAP);
        printf("ADC:%d\r\n", result);
        DelayMs(300);
    }
    return 0;
}