C - 警告 [pe069] 整数转换导致截断
C - Warning [pe069] integer conversion resulted in truncation
我知道这个问题已经被问过好几次了,反正我没有找到并回答我的具体情况:
IAR Embedded Workbench 在编译时返回此警告:
"Warning [pe069] integer conversion resulted in truncation"上线:
SPI2_Tx(DVC_CTR2, 0x1000);
其中 DVC_CTR2 是
#define DVC_CTR2 0x0F
和SPI2_Tx的定义是
static void SPI2_Tx(uint8_t pAddress, uint8_t pData)
如何解决此警告?
提前致谢!
这是因为您无法通过传输单个字节的 SPI 例程传输两个字节的值。
您应该可以通过两个单独的调用来完成:
SPI2_Tx(DVC_CTR2, 0x10);
SPI2_Tx(DVC_CTR2, 0x00);
如果您必须一次传输 16 位,请查找采用 uint16_t
的不同例程。
我知道这个问题已经被问过好几次了,反正我没有找到并回答我的具体情况:
IAR Embedded Workbench 在编译时返回此警告:
"Warning [pe069] integer conversion resulted in truncation"上线:
SPI2_Tx(DVC_CTR2, 0x1000);
其中 DVC_CTR2 是
#define DVC_CTR2 0x0F
和SPI2_Tx的定义是
static void SPI2_Tx(uint8_t pAddress, uint8_t pData)
如何解决此警告? 提前致谢!
这是因为您无法通过传输单个字节的 SPI 例程传输两个字节的值。
您应该可以通过两个单独的调用来完成:
SPI2_Tx(DVC_CTR2, 0x10);
SPI2_Tx(DVC_CTR2, 0x00);
如果您必须一次传输 16 位,请查找采用 uint16_t
的不同例程。