DSL88 发表于 2025-2-28 08:50:56

32处理器上uint8 xdata *pt和uint8 *pt区别

问题1. uint8 xdata *pt和uint8 *pt区别是什么?有注意点嘛?

问题2. uint8 *pt可指向xdata区域空间嘛?有副作用嘛?

问题3. uint8 xdata *pt可指向edata区域空间嘛?有副作用嘛?


zhp 发表于 2025-3-3 21:17:58

uint8 *pt;
pt是通用指针变量,变量大小为4字节,
可以指向所有的类型的地址,没有副作用

uint8 xdata *pt;
pt是xdata区域专用指针变量,变量大小为2字节,只能指向xdata区域
如果指向非xdata区域,数据读写会出错

另外
uint8 edata *pt;是edata区域专用指针变量
uint8 code *pt;是程序区专用指针变量
专用区域的指针变量都不能随意指向其他区域
页: [1]
查看完整版本: 32处理器上uint8 xdata *pt和uint8 *pt区别