【发布时间】:2012-02-25 09:18:24
【问题描述】:
我有一个 BYTE 数据[3]。第一个元素 data[0] 必须是一个 BYTE,具有非常具体的值,如下所示:
typedef enum
{
SET_ACCURACY=0x01,
SET_RETRACT_LIMIT=0x02,
SET_EXTEND_LIMT=0x03,
SET_MOVEMENT_THRESHOLD=0x04,
SET_STALL_TIME= 0x05,
SET_PWM_THRESHOLD= 0x06,
SET_DERIVATIVE_THRESHOLD= 0x07,
SET_DERIVATIVE_MAXIMUM = 0x08,
SET_DERIVATIVE_MINIMUM= 0x09,
SET_PWM_MAXIMUM= 0x0A,
SET_PWM_MINIMUM = 0x0B,
SET_PROPORTIONAL_GAIN = 0x0C,
SET_DERIVATIVE_GAIN= 0x0D,
SET_AVERAGE_RC = 0x0E,
SET_AVERAGE_ADC = 0x0F,
GET_FEEDBACK=0x10,
SET_POSITION=0x20,
SET_SPEED= 0x21,
DISABLE_MANUAL = 0x30,
RESET= 0xFF,
}TYPE_CMD;
按原样,如果我设置data[0]=SET_ACCURACY,它不会将其设置为0x01,而是将其设置为1,这不是我想要的。 data[0] 在设置为 SET_ACCURACY 时必须取值 0x01。我如何使它不仅适用于 SET_ACCURACY,而且适用于所有其他值?
编辑:实际上这有效......我的代码中有一个不同的错误,我归因于此。对不起!
谢谢!
【问题讨论】:
-
什么?!
0x01和1是同一个数字!你什么意思?0x01只是数字1的十六进制表示。 -
是的,我就是这么想的......我需要再看看我的程序......也许我使用 typedef 不正确?
-
不!我认为没有什么是不正确的。你得到的和你放入数组的东西是一样的。
-
哇……我是个笨蛋……我一直都做对了……好吧。好的,谢谢。
标签: visual-c++ bytearray typedef