OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3705|回复: 5

求助F407网口发送数据

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2017-7-20
在线时间
8 小时
发表于 2017-8-23 14:05:14 | 显示全部楼层 |阅读模式
1金钱
无系统,我想把开发板读取的传感器数据通过网口发送出去(ADC实验读取的数据),是更改tcp_client_poll这个函数吗?看了RAW_TCP客户端实验,里面只能发送字符串,改了很多遍都不行。




[mw_shl_code=c,false]err_t tcp_client_poll(void *arg, struct tcp_pcb *tpcb)
{
        err_t ret_err;
        struct tcp_client_struct *es;
        es=(struct tcp_client_struct*)arg;
        if(es!=NULL)  //连接处于空闲可以发送数据
        {
                if(tcp_client_flag&(1<<7))        //判断是否有数据要发送
                {
                        es->p=pbuf_alloc(PBUF_TRANSPORT, strlen((char*)tcp_client_sendbuf),PBUF_POOL);        //申请内存
                        pbuf_take(es->p,(char*)tcp_client_sendbuf,strlen((char*)tcp_client_sendbuf));        //将tcp_client_sentbuf[]中的数据拷贝到es->p_tx中
                        tcp_client_senddata(tpcb,es);//将tcp_client_sentbuf[]里面复制给pbuf的数据发送出去
                        tcp_client_flag&=~(1<<7);        //清除数据发送标志
                        if(es->p)pbuf_free(es->p);        //释放内存
                }else if(es->state==ES_TCPCLIENT_CLOSING)
                {
                        tcp_client_connection_close(tpcb,es);//关闭TCP连接
                }
                ret_err=ERR_OK;
        }else
        {
                tcp_abort(tpcb);//终止连接,删除pcb控制块
                ret_err=ERR_ABRT;
        }
        return ret_err;
} [/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2017-8-24 00:54:11 | 显示全部楼层
先搞出来网络数据传输,然后再来看ADC数据传输
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2017-7-20
在线时间
8 小时
 楼主| 发表于 2017-8-24 09:25:22 | 显示全部楼层
正点原子 发表于 2017-8-24 00:54
先搞出来网络数据传输,然后再来看ADC数据传输

对,就是网络数据还没成功,只能发送字符串,变量是如何发送的啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2017-8-25 01:26:40 | 显示全部楼层
wsg3401050 发表于 2017-8-24 09:25
对,就是网络数据还没成功,只能发送字符串,变量是如何发送的啊

看我们教程,学习学习先
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2017-7-20
在线时间
8 小时
 楼主| 发表于 2017-8-26 15:56:33 | 显示全部楼层
正点原子 发表于 2017-8-25 01:26
看我们教程,学习学习先

教程都快看完了,这个应该对你们问题不大的。就是下面几句将tcp_client_sendbuf里的内容发送出去。但是const u8 *tcp_server_sendbuf="Explorer STM32F407 TCP Server send data\r\n";这句把内容固定为了不变的字符串。我改成数组也没成功求指教
es->p=pbuf_alloc(PBUF_TRANSPORT, strlen((char*)tcp_client_sendbuf),PBUF_POOL);   //申请内存
            pbuf_take(es->p,(char*)tcp_client_sendbuf,strlen((char*)tcp_client_sendbuf));    //将tcp_client_sentbuf[]中的数据拷贝到es->p_tx中
            tcp_client_senddata(tpcb,es);//将tcp_client_sentbuf[]里面复制给pbuf的数据发送出去
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2017-7-20
在线时间
8 小时
 楼主| 发表于 2017-8-27 12:58:55 | 显示全部楼层
最简单的,定义一个变量m,按下key0, m++,然后将m 发送出去。   不要沉啊,大佬们帮帮忙
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-18 05:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表