完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
void camera_refresh(void)
{ u32 j; u16 color; u8 t=0,sss=0; if(ov_sta==2) { LCD_Scan_Dir(U2D_L2R); //从上到下,从左到右 LCD_SetCursor(0x00,0x0000); //设置光标位置 LCD_WriteRAM_Prepare(); //开始写入GRAM OV7670_RRST=0; //开始复位读指针 OV7670_RCK=0; OV7670_RCK=1; OV7670_RCK=0; OV7670_RRST=1; //复位读指针结束 OV7670_RCK=1; for(j=0;j<76800;j++) { OV7670_RCK=0; color=GPIOC->IDR&0XFF; //读数据 OV7670_RCK=1; color<<=8; OV7670_RCK=0; color|=GPIOC->IDR&0XFF; //读数据 OV7670_RCK=1; LCD->LCD_RAM=color; mycolor=color; mycolorL=mycolor&0x00ff; mycolorH=(mycolor>>8)&0x00ff; // for(t=0,sss=0;t<16;t++) { tmp_buf[2*t]=mycolorH; tmp_buf[2*t+1]=mycolorL; sss++,t++; } if(sss==16) { while(NRF24L01_TxPacket(tmp_buf)!=TX_OK); sss=0,t=0; } } OV7670_CS=1; OV7670_RCK=0; OV7670_RCK=1; EXti->R=1<<15; //清除LINE8上的中断标志位 ov_sta=0; //开始下一次采集 ov_frame++; LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向 } } int main(void) { u8 i; uart_init(1382400); //串口初始化为9600 delay_init(); //延时函数初始化 OV7670_Init(); NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 NRF24L01_Init(); //初始化NRF24L01 LCD_Init(); usmart_dev.init(72); //初始化USMART while(NRF24L01_Check()) //检查NRF24L01是否在位. { printf("24L01 Check Failed!"); delay_ms(500); } NRF24L01_TX_Mode(); printf("24L01 Check OK!"); LED_Init(); //初始化与LED连接的硬件接口 LCD_Init(); //初始化LCD if(lcddev.id==0X6804) //强制设置屏幕分辨率为320*240.以支持3.5寸大屏 { lcddev.width=240; lcddev.height=320; } usmart_dev.init(72); //初始化USMART POINT_COLOR=RED;//设置字体为红色 while(OV7670_Init())//初始化OV7670 { printf("OV7670 Error!!"); delay_ms(200); } printf("OV7670 Init OK"); delay_ms(1500); TIM6_Int_Init(10000,7199); //10Khz计数频率,1秒钟中断 EXTI8_Init(); //使能定时器捕获 OV7670_Window_Set(10,174,240,320); //设置窗口 OV7670_CS=0; while(1) { camera_refresh(); //更新显示 if(i!=ov_frame) //DS0闪烁. { i=ov_frame; LED0=!LED0; } } } 传一帧之后就不传了,是哪里有问题啊 |
|
相关推荐
2个回答
|
|
这你得慢慢分析啊,是数据没传输,还是传输错误,慢慢查。
|
|
|
|
void camera_refresh(void)
{ u32 j; u8 k; u16 color; if(ov_sta==2) { LCD_Scan_Dir(U2D_L2R); //从上到下,从左到右 LCD_SetCursor(0x00,0x0000); //设置光标位置 LCD_WriteRAM_Prepare(); //开始写入GRAM OV7670_RRST=0; //开始复位读指针 OV7670_RCK=0; OV7670_RCK=1; OV7670_RCK=0; OV7670_RRST=1; //复位读指针结束 OV7670_RCK=1; for(j=0;j<4800;j++) { for(k=0;k<32;k++) { OV7670_RCK=0; color=GPIOC->IDR&0XFF; //读数据 OV7670_RCK=1; tmp[k] = color; } for(k=0;k<32;k+=2) { color = (tmp[k]<<8)|tmp[k+1]; LCD->LCD_RAM = color; } NRF24L01_TxPacket(tmp); } EXTI_ClearITPendingBit(EXTI_Line8); //清除LINE8上的中断标志位 ov_sta=0; //开始下一次采集 LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向 } } 这个可以试试 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2543 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2331 浏览 5 评论
3156 浏览 3 评论
2801 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2759 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
607浏览 1评论
852浏览 0评论
965浏览 0评论
620浏览 0评论
447浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:15 , Processed in 1.022541 second(s), Total 84, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号