Microchip
直播中

h1654155275.5842

7年用户 273经验值
私信 关注
[问答]

怎么将枚举从一个函数传递到另一个函数

我有以下几点:有没有一个简单的方法来做这件事呢?当做。

以上来自于百度翻译


      以下为原文

    I have the following:





typedef enum {cntrl, status, fault, minPower, maxADIN,
                            powerThreshold} td_i2cRegisters;





unsigned char i2cReadRegister (td_i2cRegisters i2cReg)
{
     // stuff
    i2cSendCommand( *****);   // Want to pass i2cReg (enum)

    // stuff

}



void i2cSendCommand (td_i2cRegisters i2cReg)
{
    switch(i2cReg)
    {
        case cntrl:             // 0x00 address
            I2C1TRN = 0b00000000;
            while(I2C1STATbits.TRSTAT);
            break;
         
        case powerThreshold:    // 0x0e
            I2C1TRN = 0x0e;
            while(I2C1STATbits.TRSTAT);
            break;   

        default:
            break;
    }
}



Is there an easy way to do this or am i barking up the wrong tree?

Regards.

回帖(13)

李兆峰

2019-3-13 13:10:46
听起来不错,对我来说(至少在C++)

以上来自于百度翻译


      以下为原文

    Sounds good enough, to me (at least in C++)
举报

王璨

2019-3-13 13:29:01
到目前为止,它看起来不错。

以上来自于百度翻译


      以下为原文

    So far it is looking good.
举报

陈晨

2019-3-13 13:41:52
你有警告或错误吗?

以上来自于百度翻译


      以下为原文

    Are you getting warnings or errors?
举报

吴少杰

2019-3-13 13:48:07
是的,我确实得到了温暖。问题是,我在“*****”的位置上放了什么?(见上面的代码)

以上来自于百度翻译


      以下为原文

    Yes i do get warmnings.
 
The question is, what do i put in the place for the "*****"? (See code above)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分