完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
//dma搬运adc采集的数到内存
__IO uint16_t ADCoverVaule;DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&ADCoverVaule; //开发板作为 tcpserver 发送数据 extern __IO uint16_t ADCoverVaule; if(tcp_server_flag&(1<<7)) //如果有数据发送 { es->p=pbuf_alloc(PBUF_TRANSPORT,strlen((char*)ADCoverVaule),PBUF_POOL);//申请内存 pbuf_take(es->p,(char*)ADCoverVaule,strlen((char*)ADCoverVaule)); //打包成pbuf数据结构,是不是这里的问题呢 tcp_server_senddata(tPCB,es); // tcp_server_flag&=~(1<<7); // if(es->p!=NULL)pbuf_free(es->p); // } |
|
相关推荐
8个回答
|
|
|
用sprintf把数组转成字符串或者用数组存放AD值,然后发送
|
|
|
|
|
|
//改成
sprintf((char*)q,"%drn",ADCoverVaule); es->p=pbuf_alloc(PBUF_TRANSPORT,strlen(q),PBUF_POOL); pbuf_take(es->p,q,strlen(q)); 报错..error: #167: argument of type "u32 *" is incompatible with parameter of type "const char *" |
|
|
|
|
|
|
|
|
|
|
|
发送慢是因为例程中把发送放在了poll轮训函数中,把那个函数稍微改一下就可以直接发送,速度就快了
|
|
|
|
|
|
我参照你的一个lwip速度优化改了发送窗口和缓冲区大小,发送速度大概是1s每次,adc采集很快的。
你说的是tcp_server_poll轮询函数吧,我看逻辑感觉没有多余啊。 先判断es是不是非空,非空的话,如果有数据发送就发送数据,如果是关闭命令就关闭连接 es空的话,就终止连接删除pcb控制块 |
|
|
|
|
|
大神可以给个优化的具体方向吗
|
|
|
|
|
|
您好,请教一下想要直接调用那个poll轮询函数,应该怎么改啊,研究了很长时间,还是没有思路,求大神指教
|
|
|
|
|
|
大神,能不能把代码发我一份,我想发送采集到的温度,每次使用sprintf的时候就死机了,求助1258451847@qq.com
|
|
|
|
|
只有小组成员才能发言,加入小组>>
925 浏览 0 评论
如何使用STM32+nrf24l01架构把有线USB设备无线化?
3087 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2986 浏览 5 评论
3845 浏览 3 评论
3310 浏览 8 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
1266浏览 1评论
1212浏览 0评论
882浏览 0评论
973浏览 0评论
925浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:41 , Processed in 0.984012 second(s), Total 88, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1455