我將變量display_address,version,serial_no []定義爲uint8_t並將它們轉發給函數,該變量需要是指針,因此我鑄造了它(uint8_t *)變量,之後我得到警告鑄造指針警告
警告:投爲 'uint8_t *'(又名 '無符號字符*')從較小 整數類型uint8_t(又名 '無符號字符')
什麼問題,爲什麼這不會工作?
這裏是我轉發參數
void write_to_flash (void) {
BYTE i;
iap_copy_to_flash((uint8_t *)display_address, OFFSET_ADDRESS, 1); //warning here
delay_1_ms();
iap_copy_to_flash((uint8_t *)version, OFFSET_VERSION, 1); //warning here
delay_1_ms();
for (i=0;i<8;i++) {
iap_copy_to_flash((uint8_t *)serial_no[i], OFFSET_VERSION+i, 1); //warning here
delay_1_ms();
}
}
和iap_copy_to_flash參數描述
void iap_copy_to_flash (uint8_t* buff, uint32_t flash_addr, uint32_t num_bytes)
只是看他們作爲需要被保存到一些部門對閃存 – Lazar