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

问题描述 投票:3回答:1

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

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)

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

c hex warnings iar firmware
1个回答
3
投票

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

您应该可以通过两个单独的调用来执行此操作:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.