Beispiel #1
0
int main (void)
{
	// init
	lcam_initport();
	lcam_reset();
	lcam_setup();

	waitms(20);

	// global vars
	unsigned char buffer[102];
	unsigned char pic_pos = 0;

	unsigned char led_val = 1;

	while(1)
	{
		digitalWrite(C,2,led_val);
		// start acquiring image
		lcam_startintegration();

		waitus(INTEGRATION);
		// end integration
		lcam_stop(buffer);

		// delay between two successive acquisitions
		waitms(DELAY);

		pic_pos = lcam_getpic(buffer);

		// begin frame
		uartSendString("START");
		//uartSendByte(pic_pos);

		
		unsigned char i = 0;
		for(i=0;i<102;i++)
		{
			uartSendByte((buffer[i]>>3)+'0');
			//waitus(100);
		}

		uartSendByte('\0');
	

		led_val ^= 1;
	}

	// never reached

}
void lcam_setup(void)
{
    lcam_reset();
lcam_pulse_clock(10);
    // set inputs and outputs
    pinMode(LCAM_SCLK, OUTPUT);
    pinMode(LCAM_SDIN, OUTPUT);
    pinMode(LCAM_SDOUT0, INPUT);
    pinMode(LCAM_SDOUT1, INPUT);
	pinMode(LCAM_SDOUT2, INPUT);
	pinMode(LCAM_SDOUT3, INPUT);
	pinMode(LCAM_SDOUT4, INPUT);
	pinMode(LCAM_SDOUT5, INPUT);
    // make sure the clock is cleared
    digitalWrite(LCAM_SCLK, LOW);
    // Left offset
    lcam_send(0x40);
    lcam_send(0);
lcam_pulse_clock(10);
    // Left gain
    lcam_send(0x41);
    lcam_send(15);
lcam_pulse_clock(10);
    // Middle offset
    lcam_send(0x42);
    lcam_send(0);
lcam_pulse_clock(10);
    // Middle gain
    lcam_send(0x43);
    lcam_send(15);
lcam_pulse_clock(10);
    // Right offset
    lcam_send(0x44);
    lcam_send(0);
lcam_pulse_clock(10);
    // Right gain
    lcam_send(0x45);
    lcam_send(15);
lcam_pulse_clock(10);
}