打印
[STC单片机]

keil中使用结构体和共用体

[复制链接]
1987|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cnlhq|  楼主 | 2015-12-28 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cnlhq 于 2015-12-28 15:55 编辑

struct myDefineSensor{
         uchar  Addr_H;                         //本组ID
         uchar  Addr_L;
         uchar ID0,STATUS0,TEMPH0,TEMPL0,ALERT0;
         uchar ID1,STATUS1,TEMPH1,TEMPL1,ALERT1;
         uchar ID2,STATUS2,TEMPH2,TEMPL2,ALERT2;
         uchar ID3,STATUS3,TEMPH3,TEMPL3,ALERT3;
         uchar ID4,STATUS4,TEMPH4,TEMPL4,ALERT4;
         uchar ID5,STATUS5,TEMPH5,TEMPL5,ALERT5;
        //uchar  dbBuffer[30];
        uchar  SaveTime;                  //本组数据有效时间
         uchar  upLmt;                         //是否存在超限
};
struct myDefineSensor xdata GroupSenTemp[CONST_MAXGROUP];

这是我的写法,有点笨,想请教高手指点一下,结构体中,是否能改成嵌入结构体/共用体型式
主要思路想把,6组ID和dbBuffer[30]共用一下

相关帖子

沙发
JasonWangSE| | 2015-12-28 16:18 | 只看该作者
typedef struct tempData
{
    uchar id;
    uchar status;
    uchar tempHi;
    uchar tempLo;
    uchar alert;
} TEMP_DATA;

typedef struct mySensor
{
    uchar addrHi;
    uchar addrLo;
    uion
    {
        TEMP_DATA data[6];
        uchar     buf;
    } temp;
    uchar validTime;
    uchar threshold;
} MY_SENSOR;

是这个意思么?

使用特权

评论回复
板凳
cnlhq|  楼主 | 2015-12-29 11:21 | 只看该作者
uion
    {
        TEMP_DATA data[6];
        uchar     buf;
    } temp;

这里是不是,BUF[30]?

使用特权

评论回复
地板
JasonWangSE| | 2015-12-29 12:13 | 只看该作者
cnlhq 发表于 2015-12-29 11:21
uion
    {
        TEMP_DATA data[6];

是buf[30],我写错了

使用特权

评论回复
5
cov0xt| | 2015-12-29 13:09 | 只看该作者
我曾经写了个结构体数组,好不容易写完了,编译的时候,提示内存data不足……

:'( 白忙活了……

使用特权

评论回复
6
cnlhq|  楼主 | 2015-12-30 10:51 | 只看该作者
表示感谢了!:handshake

我的设备,比较麻烦,这里面和市场运作有关,呵呵

以前写的程序,现在看总是有很多不合适的地方,水平需要提高!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

1

粉丝