EEPROM stroe 和 Initialization 从整数生成指针而无需强制转换
EEPROM stroe and Initialization makes pointer from integer without a cast
我收到警告:
Initialization makes pointer from integer without a cast
这是我的代码:
case 4:
{
uint8_t* adr = 12;
writeEEPROM((uint8_t *) adr, &z, sizeof(z));
}
写EEPROM有:
void writeEEPROM( uint8_t* eeAddress, uint8_t* buffAddress, uint32_t byteCount ){....
我的问题在哪里。
也许还有问题 2:如果我将联合地址发送到函数 writeEEPROM 中是可能的吗?
问题出在代码的一部分,它在没有转换的情况下从整数创建指针。更改为 uint8_t* adr = (uint8_t*)12;
it is possible if I send union address into a function writeEEPROM?
是的,您可以写入任何类型的数据。但是,请注意 struct/union 填充和对齐。 EEPROM 的对齐要求与 RAM 变量不同是很常见的。
我收到警告:
Initialization makes pointer from integer without a cast
这是我的代码:
case 4:
{
uint8_t* adr = 12;
writeEEPROM((uint8_t *) adr, &z, sizeof(z));
}
写EEPROM有:
void writeEEPROM( uint8_t* eeAddress, uint8_t* buffAddress, uint32_t byteCount ){....
我的问题在哪里。
也许还有问题 2:如果我将联合地址发送到函数 writeEEPROM 中是可能的吗?
问题出在代码的一部分,它在没有转换的情况下从整数创建指针。更改为 uint8_t* adr = (uint8_t*)12;
it is possible if I send union address into a function writeEEPROM?
是的,您可以写入任何类型的数据。但是,请注意 struct/union 填充和对齐。 EEPROM 的对齐要求与 RAM 变量不同是很常见的。