完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
|
|
简单说,还是得做协议传输。 不过你这呢,可以简单一点了,给你个简单的点子,NRF,一个包每次传输32字节。 如果是同步包,前2字节,可以写:0XFF,0X00,作为帧同步码,随后,才是图像数据。 这样接收端,每次都判断包前2字节,是不是0XFF,0X00,如果是,则设置LCD扫描方式,然后图像写 指针复位(重新设置坐标0,0),然后才开始写数据。 这样,每一帧数据都会有一次同步,就算中途丢了一些数据,也就导致一帧数据有问题,后续的可以自动修正。 |
|
|
|
是不是接收和发射不同步啊?你自己弄一个接收、发射同步程序没有?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
谢谢原子哥提醒,我弄错了,那我可以用IRQ来触发外部中断吗,只要一触发中断就接受数据,然后做一个同步协议。因为我试了一下IRQ触发,但是不行,而且做了一次协议,tmp_buf[0]=0xff,tmp_buf[1]=0x00,数据更乱。图像完全看不清楚。 |
|
|
|
快搞出来了吧兄弟
|
|
|
|
|
|
|
|
void EXTI9_5_IRQHandler(void) { if(NRF24L01_IRQ ==0) //if(EXTI->R&(1<<8))//??8???????? { h++; //if(tmp_buf[0]=='a') //{ // //tmp_buf[0]='a'; while(1) { if(NRF24L01_RxPacket(tmp_buf)==0)//??????????????,?ò????????. { //for(t=0;t<32;t++) //LCD_WR_DATA(tmp_buf[t]); // tmp_buf[32]=0;//????×?·????á??·? LCD_ShowString(0,190,239,32,16,tmp_buf); }else delay_us(100); t++; if(t==10000)//?ó??1s????±?????×??? { t=0; LED0=!LED0; } } } EXTI->R=1<<8; } void EXTI8_Init(void) { GPIOG->CRH&=0XFFFFFFF0; GPIOG->CRH|=0X00000008; GPIOG->IDR|=1<<8; Ex_NVIC_Config(GPIO_G,8,FTIR); MY_NVIC_Init(2,2,EXTI9_5_IRQn,2); } 原子哥这是我的外部触发接受中断的程序,但是没有进入,我把接受到的数据放到主函数里面,有反应,但具体还是不知道什么原因,我是个菜鸟,谢谢原子哥,不惜赐教! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2550 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2335 浏览 5 评论
3166 浏览 3 评论
2807 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2768 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
620浏览 1评论
863浏览 0评论
981浏览 0评论
632浏览 0评论
458浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 01:26 , Processed in 1.567298 second(s), Total 117, Slave 99 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号