关于串口数据存入结构体的问题

2019-08-17 00:39发布

本人最近在学一个显示设备,指令格式为
                  XX               XX               XX               XX              XX XX             XX XX         XX XX XX...(不定长)   XXX

                 帧头        cmd_type     control_type     ctrl_msg         screen_id        control_id           param                     帧尾


结构体为typedef struct
{
        uint8    cmd_head;  //帧头

        uint8    cmd_type;  //命令类型(UPDATE_CONTROL)       
        uint8    ctrl_msg;   //CtrlMsgType-指示消息的类型
        uint16   screen_id;  //产生消息的画面ID
        uint16   control_id;  //产生消息的控件ID
        uint8    control_type; //控件类型

        uint8    param[256];//可变长度参数,最多256个字节

        uint8  cmd_tail[4];   //帧尾
}CTRL_MSG,*PCTRL_MSG;

我结构体学的不是很好,想请教一下各位,
如果有一个函数的入口形参形式为这种结构体,我用temp=USART_ReciveData(USART1)函数把接收到的一帧指令存到temp后,怎么以f函数定义的参数的形式传入f函数中呢


麻烦各位教一下我0.0
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-08-17 06:13
 精彩回答 2  元偷偷看……
453947330
2楼-- · 2019-08-17 06:45
有。。有人吗
453947330
3楼-- · 2019-08-17 11:36
正点原子 发表于 2017-7-13 20:44
PCTRL_MSG->xxx=temp

你好,您这种方法是把temp的值放到temp的值全部放入MSG的一个成员里去了吗,
453947330
4楼-- · 2019-08-17 15:19
@正点原子 你好原子哥,我想把把temp的值按顺序自动填入我定义的结构体中,应该怎样操作呢,要用到强制转换吗
453947330
5楼-- · 2019-08-17 15:28
如果我这样写
CTRL_MSG* ref;
ref->cmd_head=temp;那temp的值是怎么分配的呢

一周热门 更多>