OpenEdv-开源电子网

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

STM32F4网口通信数据的传输

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2020-11-6
在线时间
4 小时
发表于 2020-11-9 08:55:40 | 显示全部楼层 |阅读模式
1金钱
???如何将int类型数据转化为char类型数据???
按照网口通信案例可以发送字符串数据,现在想发送int型数据,发现字符型数8位,而int型是32位,需要先将int型转化为char型
采用sprintf函数将int型转化为char型之后,发送到网络调试助手的数据变为了错误字符
如何将int类型数据转化为char类型数据,并通过网口传输出来


最佳答案

查看完整内容[请看2#楼]

很简单的数据处理,用char指针,指向int首地址,然后按字节数操作char指针就好了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-11-9 08:55:41 | 显示全部楼层
很简单的数据处理,用char指针,指向int首地址,然后按字节数操作char指针就好了
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2020-11-6
在线时间
4 小时
 楼主| 发表于 2020-11-9 22:26:23 | 显示全部楼层
程序又修改了之后,现在发送的数据正常了,但是发送一次之后就进入HardFault_Handle,查询了一下原因,说是内存溢出或者栈泄露,但是查看内核发现LR, MSP, PSP 三个寄存器都没满,想问一下是因为什么原因,需要配置哪些参数吗 @原子哥

下面是自己修改了原程序的内容(源程序是udp_demo_senddata函数)。
void udp_senddata(struct udp_pcb *upcb,char * data)
{
        struct pbuf *ptr;
        ptr = pbuf_alloc(PBUF_TRANSPORT,strlen((char*)data),PBUF_POOL);
        if(ptr)
        {
                ptr->payload=(void*)data;
               
                udp_send(upcb,ptr);       
               
                pbuf_free(ptr);
        }
}
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-15 03:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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