【发布时间】:2013-06-15 11:01:37
【问题描述】:
我有一个无符号字符数组,例如Data[2]。我需要它与返回 unsigned int 的函数的输出进行比较。
我尝试将 Data[2] 转换为 unsigned int ,反之亦然。没用。
我想做的是:
if (Data[2] == ReadFlash2(40))
{
//Do Something.
}
ReadFlash2 是一个返回 unsigned int 的函数,而Data[2] 是一个 unsigned char。
我尝试对它们中的每一个进行投射,但没有成功。
我做错了什么吗?我应该施放哪一个,我应该施放什么?
谢谢。
编辑: Readflash函数的代码:
unsigned int ReadFlash2(unsigned int Addr) // use as Read Function
{
pMem = (unsigned int*)MEM_STR_ADR;
pMem += Addr;
Nop();
return(*pMem);
}
【问题讨论】:
-
您遇到了什么错误?
-
@AlexandruBarbarosie,
if比较是错误的,这意味着它没有通过。 -
Data[2]的值和ReadFlash2(40)的值是多少? -
@Liban 你确定数字相等吗?
-
Data 的定义是什么样的?只是一个疯狂的猜测,但是您是否正在使用 16 位 MCU 并尝试将整个两个元素数组(不仅仅是单个元素)与 int 进行比较?
标签: c type-conversion unsigned-integer unsigned-char mplab