C - 警告[pe069]整数转换导致截断

时间:2017-12-17 15:15:58

标签: c hex warnings iar firmware

我知道这个问题已被多次询问,无论如何我没有找到并回答我的具体案例:

IAR Embedded Workbench在编译时重新发出此警告:

“警告[pe069]整数转换导致截断”:

SPI2_Tx(DVC_CTR2,       0x1000);

其中DVC_CTR2是

#define DVC_CTR2                0x0F

和SPI2_Tx定义是

static void SPI2_Tx(uint8_t pAddress, uint8_t pData)

如何解决此警告? 提前谢谢!

1 个答案:

答案 0 :(得分:3)

这是因为您无法通过传输单个字节的SPI例程传输双字节值。

您应该可以通过两个单独的呼叫来完成:

SPI2_Tx(DVC_CTR2, 0x10);
SPI2_Tx(DVC_CTR2, 0x00);

如果必须一次传输16位,请查找采用uint16_t的其他例程。