OpenEdv-开源电子网

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

请教结构体赋值方法

[复制链接]

5

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2011-9-15
在线时间
58 小时
发表于 2017-4-16 01:32:24 | 显示全部楼层 |阅读模式
结构体定义是这样的:
__packed typedef struct
{
  u8* TCP_Server;    //服务器地址
  u8* TCP_PortNum;    //服务器端口
}_System_Setings;
这样赋值是没有问题的:
        Systemset.TCP_Server="192.168.3.103";//服务器地址
我参考原子大哥源码做了个触摸键盘来设置这个服务器地址,但无法成功赋值,代码如下:
       
u8 IP[16];         //IP缓存;
IP[0]=0;
       key=Get_KeyNum(0,90);
                if(key)
                {  IP[iplen++]=KBD_Tbl[key-1][0];}               
                IP[iplen]=0;
   Show_Str(0,0,200,16,IP,16,0);//在屏上设置的IP能正常显示,但赋值出错!!
       Systemset.TCP_Server=IP;//在屏上设置的IP能正常显示,但赋值出错!!

C语言基础不行,求大家指点迷津,万分感激!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2011-9-15
在线时间
58 小时
 楼主| 发表于 2017-4-16 12:53:44 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

174

帖子

0

精华

高级会员

Rank: 4

积分
725
金钱
725
注册时间
2016-1-9
在线时间
64 小时
发表于 2017-4-16 14:24:04 | 显示全部楼层
       key=Get_KeyNum(0,90);
                if(key)
                {  IP[iplen++]=KBD_Tbl[key-1][0];}               
                IP[iplen]=0;
这段目的是什么呢?
实际的程序这几句挨着么?
回复 支持 反对

使用道具 举报

5

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2011-9-15
在线时间
58 小时
 楼主| 发表于 2017-4-16 16:25:09 | 显示全部楼层
whyviking 发表于 2017-4-16 14:24
key=Get_KeyNum(0,90);
                if(key)
                {  IP=KBD_Tbl[key-1][0];}    ...

触摸屏键值获取,写入IP数组,
回复 支持 反对

使用道具 举报

0

主题

174

帖子

0

精华

高级会员

Rank: 4

积分
725
金钱
725
注册时间
2016-1-9
在线时间
64 小时
发表于 2017-4-16 18:13:07 | 显示全部楼层
flex 发表于 2017-4-16 16:25
触摸屏键值获取,写入IP数组,

你把不相关的代码去掉,就用for循环给IP数组赋值,然后再显示试试
回复 支持 反对

使用道具 举报

5

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2011-9-15
在线时间
58 小时
 楼主| 发表于 2017-4-17 00:11:03 | 显示全部楼层
whyviking 发表于 2017-4-16 18:13
你把不相关的代码去掉,就用for循环给IP数组赋值,然后再显示试试

IP数组赋值及显示都正常,但数组赋值给结构体中就错误了
回复 支持 反对

使用道具 举报

5

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2011-9-15
在线时间
58 小时
 楼主| 发表于 2017-4-17 20:37:23 | 显示全部楼层
继续等待大师指导
回复 支持 反对

使用道具 举报

0

主题

174

帖子

0

精华

高级会员

Rank: 4

积分
725
金钱
725
注册时间
2016-1-9
在线时间
64 小时
发表于 2017-4-17 23:01:29 | 显示全部楼层
flex 发表于 2017-4-17 00:11
IP数组赋值及显示都正常,但数组赋值给结构体中就错误了

结构体赋值语句没问题。你看看是不是显示语句写错了
回复 支持 反对

使用道具 举报

2

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2017-4-15
在线时间
27 小时
发表于 2017-4-26 21:19:37 | 显示全部楼层
学习一下子
回复 支持 反对

使用道具 举报

0

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2014-12-22
在线时间
39 小时
发表于 2017-4-27 02:08:19 | 显示全部楼层
貌似指针要初始化的吧,结构体里面的指针
,你要换成变量就没问题
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-21 22:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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