我正試圖將用於STM32設備的Arduino以太網庫移植到libmaple
。編譯時(使用GCC工具鏈CodeSourcery)。我得到「從'uint8_t *'投射到'uint16_t'在編譯STM32時失去精度」
libraries/Ethernet/w5100.cpp:111: error: cast from 'uint8_t*' to 'uint16_t' loses precision
周圍的代碼段:
void W5100Class::read_data(SOCKET s, uint8_t *src, uint8_t *dst, uint16_t len)
{
uint16_t size;
uint16_t src_ptr;
src_mask = (uint16_t)src & RMASK;
src_ptr = RBASE[s] + src_mask;
if((src_mask + len) > RSIZE)
{
size = RSIZE - src_mask;
read(src_ptr, (uint8_t *)dst, size);
dst += size;
read(RBASE[s], (uint8_t *) dst, len - size);
}
else
read(src_ptr, (uint8_t *) dst, len);
}
這使得,謝謝。 – baobrien