c - 使用 memcpy(...) 读取物理地址处的值

标签 c memcpy

我需要读取地址为 0x2428(MCU 的闪存)的值。如何使用 memcpy 读取值?

 uint8_t *newData ,x;
 memcpy( newData, 0x2428, sizeof x);

但是,我明白了

Error[Pe167]: argument of type "int" is incompatible with parameter of type "void const *

我应该如何修复错误?

最佳答案

您试图将内存地址 (0x2428) 作为 memcpy 操作的目标地址传递,但编译器在期望 const void * 时只是将其视为 const int 值(整数文字)。您至少必须将其转换为 (const void *) 0x2428 的数据类型才能使此语法起作用。

关于c - 使用 memcpy(...) 读取物理地址处的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34140682/

相关文章:

c - 高斯消元法及降维系统的求解

c - memcpy [或不?] 和多线程 [std::thread from c++11]

c - memcpy 在不同的编译器中给出不同的输出

c - PCRE 不支持 C 中长度超过 1024 的模式

c - 指针和打印问题

c - fgets() 被跳过,如何清除用户输入?

c - 如何在cooja中创建makefile?

c++ - "&s[0]"是否指向 std::string 中的连续字符?

将结构复制到C中的数组

c++ - 哪种类型特征表明该类型是 memcpy 可分配的? (元组,对)