Example #1
0
void ADNS3080_Init(void)
{   
  ADNS3080_reset(); //复位
  GPIO_SetBits(GPIOB,GPIO_Pin_0);  //拉高NPD,免睡眠
  delay_ms(10);
  Write_srom();
  ADNS_Configuration();
}
Example #2
0
void ADNS3080_Init(void)
{
  ADNS_3080_GPIO_Configuration();
  SPI_init(256);  //改变速度(2到256分频)
  ADNS3080_reset(); //复位
  GPIO_SetBits(GPIOA,GPIO_Pin_10);  //拉高NPD,免睡眠
  delay_ms(10);
  Write_srom();
  ADNS_Configuration();
 //printf("%d\n",read_register(0x1f));	 //查看是否下载成功
}
Example #3
0
void read_pixel(void)
{
   u8 i,j ,regValue, pixelValue,test=1;	 
  writr_register(Frame_Capture,0x83); 
  delay_us(1010);//等待3帧 (1/3000)*1000000*3+10 =1010us
  //显示数据  30*30=900
  for(i=0;i<30;i++)//列
  {
	  for(j=0;j<30;j++) //行 
	  {
	   regValue=read_register(Frame_Capture);  //读像素
	    if( test && ((regValue&0x40)==0)) //找不到第一个像素
		{
//	 Sys_Printf(Printf_USART,"Read pixel fail");		    
		}
						    test=0;
	                        pixelValue =(regValue<<2);
							while(!(USART1->SR&(1<<6)));
	  						USART1->DR=pixelValue;                               
	                        delay_us(50);
	  }
   }
  ADNS3080_reset();//重启运行
}