a**n 发帖数: 97 | 1 一个源文件同时包含了两个头文件, 调试的时候发现有个定义的变量冲突, 总是通不过
. 因为这个头文件都是公司提供的, 应该不会有问题, 所以请大家帮忙看看可能是什么
问题. 多谢了! 两个头文件相关部分附下.
头文件1
#define PCLKCR *(VOLATILE UNSIGNED16*)0x701C
头文件2
// Peripheral clock control register bit definitions:
struct PCLKCR_BITS {
...
};
union PCLKCR_REG {
Uint16 all;
struct PCLKCR_BITS bit;
};
struct SYS_CTRL_REGS {
...
union PCLKCR_REG PCLKCR; // This caused the problem!!!!
...
} | S*****n 发帖数: 227 | 2
maybe u can change this PCLKCR to lower case..
【在 a**n 的大作中提到】 : 一个源文件同时包含了两个头文件, 调试的时候发现有个定义的变量冲突, 总是通不过 : . 因为这个头文件都是公司提供的, 应该不会有问题, 所以请大家帮忙看看可能是什么 : 问题. 多谢了! 两个头文件相关部分附下. : 头文件1 : #define PCLKCR *(VOLATILE UNSIGNED16*)0x701C : 头文件2 : // Peripheral clock control register bit definitions: : struct PCLKCR_BITS { : ... : };
| a**n 发帖数: 97 | 3 这两个头文件好像用一个变量名的. 第一个头文件只是明确指定了它的地址. 再帮我看
看... 多谢了. | a**n 发帖数: 97 | 4 一个头文件是TEXAS INSTRUMENT带的, 另一个是做CANOPEN 的PORT带的. 另外UNSIGNED
16 这些都是为了方便提前定义的, 不会因为这个产生问题. 请具体说一下怎么解决问
题. 多谢! | j*****n 发帖数: 3052 | 5 So they're from different vendors?
You can change either of them, or try include header file #2 first, then #1.
UNSIGNED
【在 a**n 的大作中提到】 : 一个头文件是TEXAS INSTRUMENT带的, 另一个是做CANOPEN 的PORT带的. 另外UNSIGNED : 16 这些都是为了方便提前定义的, 不会因为这个产生问题. 请具体说一下怎么解决问 : 题. 多谢!
| a**n 发帖数: 97 | 6 I emailed Port and they acknowledged this was a known problem. Their new
version solves this problem. Thanks! |
|