完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
如题,原子哥的串口IAP已经试验通过,现想将其修改为以太网IAP操作,使用UDP进行传输。
但是有几个问题。 1)串口可以通过中断将大容量APP写进FLASH里面,非常顺利 u8 USART_RX_BUF[USART_REC_LEN] __attribute__ ((at(0X08050000))); u32 FLASH_APPX_ADDR=0x08050000; void USART1_IRQHandler(void) //?®??1????·??????ò { u8 Res; #ifdef OS_CRItiCAL_METHOD //????OS_CRITICAL_METHOD?¨????,???÷????ucosII??. OSIntEnter(); #endif if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //????????(????????????±?????0x0d 0x0a?á??) { Res =USART_ReceiveData(USART1);//(USART1->DR);//???????????????? if(USART_RX_CNT FLASH_Unlock();//???? FLASH_DataCacheCmd(DISABLE);//FLASH????????,±??????????????? FLASH_ProgramByte(FLASH_APPX_ADDR,Res); FLASH_DataCacheCmd(ENABLE);//FLASH?????á??,???????????? FLASH_Lock();//???? FLASH_APPX_ADDR +=1; USART_RX_CNT++; } /*{ USART_RX_BUF[USART_RX_CNT]=Res; USART_RX_CNT++; } */ } #ifdef OS_CRITICAL_METHOD //????OS_CRITICAL_METHOD?¨????,???÷????ucosII??. OSIntExit(); #endif } #endif 但在原子哥的UDP的接收程序里,没有中断操作,只有系统自带的接收函数,它是怎么接收数据的, 不知道怎么修改,在任务中执行,怎么将其接收进FLash里啊, netconn_recv(udpconn,&recvbuf); 谁有以太网UDP进行IAP的程序参考一下,谢谢 |
|
相关推荐
11个回答
|
|
|
|
|
|
|
|
|
还是协议的问题。
你真要是会用modbus,modbus采用的是发送+应答的机制,完全就不需要你有大缓存,你大可以写入一个字节,再写下一个字节,都是可以的,只要你不给主机应答,主机就不会发下一个数据给你。想怎么折腾都行。 你上面的所谓问题,自然就不存在了。 |
|
|
|
|
|
你用的哪款开发板?
|
|
|
|
|
|
|
|
|
|
|
|
额,IAP代码和APP代码,没有重叠吧?
|
|
|
|
|
|
AIP和APP确定没有重叠, AIP总共120K多,放在800000开始的地址,APP是从8050000开始的地址。
原子哥的UDP接收区默认在内部ram中,内部ram中直接开了2000字节的空间,但IAP的话远远不够,起码得开100k多,如果把存储空间开在flash中,就不能直接存储,得用flash的写入程序,现在不知道在哪加这个程序,而且查询接收时不接收完没法向flash中写,只能中断接收时加在中断程序里,问题是怎么加,加在哪?看不太懂UDP的底层程序?谁在原子哥的例程基础上做过,请指点一下? |
|
|
|
|
|
可以先测试下收到的数据有没有错误或者遗漏。
比如你可以先设置一个小的工程,比如10KB,这样你全部存储在ram也够了,存储完,通过串口,输出,来看看是不是你发送的数据,有没有遗漏? 然后再考虑将10K的ram写入flash完成APP功能。 学会分析问题。 |
|
|
|
|
|
原子哥,现在不是接受程序对不对的问题,而是怎么将大容量的APP直接储存到FLASH中,我再检验flash中程序的程序就可以了,在UDP的底层哪里修改呢?看了几天还是没有头绪
|
|
|
|
|
|
现在不是宏观的协议问题,而是操作中遇到的具体细节问题没法解决,说白了就是怎样将接收的大的文件储存到FLASH中,对UDP的底层驱动函数看不太明白,默认存在ram中,不知道在哪改?
|
|
|
|
|
|
哦,原来是这样,理解了谢谢原子哥指点
|
|
|
|
|
|
tcp上也可以走Modbus协议吗?怎么实现的呢
|
|
|
|
|
只有小组成员才能发言,加入小组>>
926 浏览 0 评论
如何使用STM32+nrf24l01架构把有线USB设备无线化?
3087 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2987 浏览 5 评论
3846 浏览 3 评论
3311 浏览 8 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
1266浏览 1评论
1212浏览 0评论
882浏览 0评论
973浏览 0评论
926浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:20 , Processed in 0.917613 second(s), Total 94, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
776