怎么最近老遇到一些很底层的问题,真是搞到头都大了,吐槽完进入主题。
typedef struct
{
u16 l;
u16 m;
u16 r;
}H_seek;
H_seek hseek[80]; //全局变量
//更新LCD显示
void camera_refresh(void)
{
u32 i,j;
u16 color;
if(ov_sta==2)
{
LCD_WriteReg(0x0050,60);
LCD_WriteReg(0x0051,179); //x
LCD_WriteReg(0x0052,120);
LCD_WriteReg(0x0053,199); //y
LCD_Scan_Dir(U2D_L2R); //从上到下,从左到右
LCD_SetCursor(60,120); //设置光标位置
LCD_WriteRAM_Prepare(); //开始写入GRAM
OV7670_RRST=0; //开始复位读指针
OV7670_RCK=0;
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RRST=1; //复位读指针结束
OV7670_RCK=1;
for(i=0;i<120;i++)
{
for(j=0;j<80;j++) //读取图像数据
{
OV7670_RCK=0;
color=OV7670_DATA; //读数据
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RCK=1;
color>>=3;
pix[j]=color;
LCD->LCD_RAM=(color<<11)|(color<<6)|color;
}
}
hseek[20].l=10; //赋值的语句
hseek[21].l=10;
EXTI-> R=1<<8; //清除LINE8上的中断标志位
ov_sta=0; //开始下一次采集
LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向
}
} // 摄像头更新函数
//main()函数里面的循环
while(1)
{
camera_refresh();//更新显示
delay_ms(1);
LCD_ShowNum(60,20,hseek[20].l,4,16);
LCD_ShowNum(60,260,hseek[21].l,4,16);
//hseek[20].l=10; 在这里赋值能显示!!!
}
编译通过,显示屏能更新摄像头的画面,怎么在摄像头更新函数里面就赋值不了呢!!!!!!!! 谁来打救我
|