我目前正在接手一个之前使用 MSPGCC 编译的 MSP430 项目,我被要求更新它,以便它可以与使用 CCSv6 的 TI 的 C 编译器配合使用。但是,我遇到了一系列我不太理解的错误。这是我的代码示例,其中存在一些错误:
struct UART_UCxxCTL_BITS
{
UINT8_T UCSWRST : 1; /**< R/W Software reset enable */
UINT8_T UCTXBRK : 1; /**< R/W Transmit break */
UINT8_T UCTXADDR: 1; /**< R/W Transmit address */
UINT8_T UCDORM : 1; /**< R/W Dormant */
UINT8_T UCBRKIE : 1; /**< R/W Receive break character interrupt */
UINT8_T UCRXEIE : 1; /**< R/W Receive eroneous-character interrupt */
UINT8_T UCSSEL : 2; /**< R/W USCI clock source select */
UINT8_T UCSYNC : 1; /**< R/W Synchronous mode select */
UINT8_T UCMODE : 2; /**< R/W Mode select */
UINT8_T UCSPB : 1; /**< R/W Stop bit select */
UINT8_T UC7BIT : 1; /**< R/W Character length */
UINT8_T UCMSB : 1; /**< R/W MSB first select */
UINT8_T UCPAR : 1; /**< R/W Parity select */
UINT8_T UCPEN : 1; /**< R/W Parity enable */
};
对于结构内的所有这些行,除了 UCMODE
和 UCSSEL
之外,我收到错误:“#41 需要一个标识符”
总共,我的项目中有 38 个错误 #41,所有这些错误都在结构上,但不是每个结构,也不是其中的每个声明。它们出现在两个头文件中,一个用于 UART,另一个用于 SPI。但这两个文件没有链接。在这两个文件中都声明了结构,其中一些非常相似。
例如,在这两个文件中,UCMODE
和 UCSSEL
不会被视为错误,但其余的则被视为错误。这就是我觉得奇怪的地方。
请注意,UINT8_T
是一个无符号字符
。
你知道什么会导致这些错误吗?
非常感谢。
最佳答案
失败的关键字已在 CCS 环境中的处理器头文件中定义,即 msp430f6725.h
#define UCRXEIE (0x0020) /* RX Error interrupt enable */
关于c - MSP430 的 CCS 中出现错误 : Expected an identifier,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26656392/