void ADNS3080_Init(void) { ADNS3080_reset(); //复位 GPIO_SetBits(GPIOB,GPIO_Pin_0); //拉高NPD,免睡眠 delay_ms(10); Write_srom(); ADNS_Configuration(); }
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)); //查看是否下载成功 }
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();//重启运行 }