完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我已经修改了一个PIC32 MZ的HTTP演示,并在配置中添加了一些额外的Fielg。加上额外的钱,我就被这张支票缠住了。注释建议增加TCP RX FIFO,但do'SNT说如何
|
|
相关推荐
17个回答
|
|
|
方法是改变MHC中的值。HTTP值可以是TCP/IP默认值,也可以是HTTP部分中不同的值集。还有一些功能要求程序化地改变它。这是关于和声论坛的一个月的讨论。
|
|
|
|
|
|
我在和谐论坛上看了一下,发现有关TCP_IP缓冲区的线程(http://www..hip.com/for./m928223.aspx)我已经直接和从MHC更改了RX缓冲区,但这仍然不能解决问题。这是演示代码中的文本。多少数据太多了,我只添加了一些额外的参数。
|
|
|
|
|
|
您在向服务器发送数据方面遇到困难。提高包大小将加快它的速度。我认为您要么需要增加TCP/IP池大小。TCP/IP池的堆来自堆。或者查看“数据块”,直到星期一,并希望微芯片堆栈大师检查。
|
|
|
|
|
|
谢谢输入!
|
|
|
|
|
|
在5.xx堆栈(MLA)中,增加FIFO大小是在TCPSocketInitializer数组中完成的:每个套接字的最后一个数字是RX FIFO大小。为所有TCPApPosieTHHTPJServer套接字增加该值。如果必要,可以调整TCP_PIC_RAM_SIZE(或者根据使用哪个收发信机来调整TCP_ETH_RAM_SIZE)。我没有使用过Harmony,并且有可能在那里以完全不同的方式实现这一点(但是CustomHTTPApp.c中的注释是相同的)。
|
|
|
|
|
|
谢谢RubNealNoice do'SNT有相同的设置,但我能找到的东西在StimySigFig .h中,很多都可以在MHC中配置,但也可以手动调整,D错误是0,但是我改为1500。
|
|
|
|
|
|
所需的更改是将缓冲区设置为…定义了TCPIPHHTPSYSKTJRXXBuffl大小8192
|
|
|
|
|
|
如果没有更多的机会将整个POST数据放入缓冲区,那么您必须使用演示中的简单方法来完成它。这意味着您需要逐块解析它,并从缓冲区中移除成功解析的数据以释放它以获得更多传入数据。乍看之下,ht有点令人困惑,但是它消除了对整个数据放入缓冲区的需要。可爱的。总是尽可能多地检查缓冲区和解析,并将结果存储在某个地方。例如,对于通常的应用程序/x-www-form-urlencodedtry,可以读取完整的变量名(TCPIP_HTTP_PostNameRead())、完整的值(TCPIP_HTTP_PostValueRead())或完整的名称值对(TCPIP_HTTP_PostReadP)。()如果你成功了(= HTTP1 Read),将它从缓冲区中删除(上面函数自动执行)。如果需要更多的数据用于解析下一个名称或值(=HTTP_READ_INCOMPLETE),则使用HTTP_IO_NEED_DATA从TCPIP_HTTP_PostExecute返回,并在下一个回调处继续。如果您已经处理了所有数据(字节计数=0),则返回HTTP_IO_DONE。为了记住每次新的TCPIP_HTTP_PostExecute调用时接下来要做什么,您可以实现一个状态机,并使用TCPIP_HTTP_CurrentConnectionPostSmSet()/Get()存储它的状态。您也可以滥用它来存储一些值,但是通常将解析的结果存储在连接数据缓冲区中(CurrentConnectionDataBufferGet())。您需要在第一个回调中清理连接数据缓冲区,因为它保存get数据和cookie。您也可能需要增加其大小与MHC。您也可以使用全局变量存储数据,但是这会造成并发连接的问题。如果需要解析与napplication/x-www-form-urlencoded不同的内容,或者需要能够处理真正的大名称或值,则不能使用TCPIP_HTTP_Post...Read...函数,而是您需要使用TCP/IP接收数据传输函数(TCPIP_TCP_Get/Peek/Find)完全独立完成。
|
|
|
|
|
|
在更改缓冲区大小之后,我得到了另一个问题。当HITSTCPIPHHTPYPSPNAMEADAD,返回值为1,对应于截断值。服务器返回500个内部错误:Expected Data not PresentThe代码通过检查缓冲区溢出,因此我假设所有数据都进入缓冲区。
|
|
|
|
|
|
您可能需要增加TCP/IP内存池和堆。
|
|
|
|
|
|
你是怎么做到的?
|
|
|
|
|
|
项目性质
|
|
|
|
|
|
在项目配置中的MHC中,TCP/IP在TCP/IP堆配置中。TCP/IP堆来自堆。因此,确保堆足够大用于TCP/IP和其他一切。
|
|
|
|
|
|
它设定在51200,有什么建议吗?我在80000点尝试过,系统启动了。
|
|
|
|
|
|
我发现了一些看起来会引起问题的东西。我的新Web表单正在使用一些javascript,该表单正在作为封装的多部件发送:我创建了一个简单的表单来发送数据,并将其作为密钥/值对监听,这是代码所期望的。WiRESHARK看发生了什么事,不能把照片贴到这个帖子上。
|
|
|
|
|
|
是什么?将堆设置为128K,将TCPIP堆设置为64K,我假设您有空闲的RAM。请确保堆大于TCPIP堆,否则它不会工作。记住每个传入的套接字需要8K。您设置了多少?
|
|
|
|
|
|
好的,谢谢大家。问题的解决方式与送出的形式有关。不要尝试将它们作为多部分数据发送出去!我还将TX缓冲区设置为8000字节。这足以使这项工作可靠。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:41 , Processed in 0.925036 second(s), Total 72, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2167