我知道这个问题已被多次询问,无论如何我没有找到并回答我的具体案例:
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)
我该如何解决此警告?提前致谢!
这是因为您无法通过传输单个字节的SPI例程传输双字节值。
您应该可以通过两个单独的调用来执行此操作:
SPI2_Tx(DVC_CTR2, 0x10);
SPI2_Tx(DVC_CTR2, 0x00);
如果您必须一次传输16位,请查找采用uint16_t
的不同例程。