【发布时间】:2015-11-23 11:09:50
【问题描述】:
我正在尝试将 c++ 代码移植到 msp430 c 代码。 由于我从未遇到过枚举类型,因此我很少遇到不了解如何管理它的问题。 此代码由 Taylor Andrews 编写: 枚举列表定义为:
enum accel_odr
{
A_POWER_DOWN, // Power-down mode (0x0)
A_ODR_3125, // 3.125 Hz (0x1)
A_ODR_625, // 6.25 Hz (0x2)
A_ODR_125, // 12.5 Hz (0x3)
A_ODR_25, // 25 Hz (0x4)
A_ODR_50, // 50 Hz (0x5)
A_ODR_100, // 100 Hz (0x6)
A_ODR_200, // 200 Hz (0x7)
A_ODR_400, // 400 Hz (0x8)
A_ODR_800, // 800 Hz (9)
A_ODR_1600 // 1600 Hz (0xA)
};
而我的是:
typedef enum
{
A_POWER_DOWN, // Power-down mode (0x0)
A_ODR_3125, // 3.125 Hz (0x1)
A_ODR_625, // 6.25 Hz (0x2)
A_ODR_125, // 12.5 Hz (0x3)
A_ODR_25, // 25 Hz (0x4)
A_ODR_50, // 50 Hz (0x5)
A_ODR_100, // 100 Hz (0x6)
A_ODR_200, // 200 Hz (0x7)
A_ODR_400, // 400 Hz (0x8)
A_ODR_800, // 800 Hz (9)
A_ODR_1600 // 1600 Hz (0xA)
}accel_odr;
他在头文件中定义了一个与枚举相关的var:
uint16_t begin( accel_odr aODR = A_ODR_50);
执行此操作,编译时出现错误:
描述资源路径位置类型
18 应为 ")" LSM9DS0.c /ACC 第 130 行 C/C++ 问题
和
描述资源路径位置类型
256 type name is not allowed main.c /ACC line 45 C/C++问题
我错过了什么??我尝试将函数内部的值分配为:
uint16_t begin( accel_odr aODR);
aODR = A_ODR_50;
但我没有解决问题。
【问题讨论】:
-
不确定这与c# 有什么关系。删除了那个标签。