神农鼎 发表于 2023-2-13 17:26:12

STC8系列所有的变量都强制指定到 xdata

网友问:
STC8A8K64D4, STC8H8K64U, 不知道该怎么理解 data, idata

答:STC8系列你所有的变量都强制指定到 xdata :
      unsigned char xdata k = 0;   //其他RAM 不用管了,先正确的用起来
上电后RAM的值是随机的,所以声明变量时强制赋个初值不会比不赋初值差
声明变量时强制赋初值,用时再给一次,都是优秀的习惯,不依赖编译器,防遗漏少犯错
少依赖编译器,不同的编译器,不同的风格,不同版本也有差异

传统8052的 256字节idata/含data,尽量留给堆栈使用,
xdata的速度也很快,写是2个时钟。读是3个时钟,
pdata是配合 P2口使用的,已没任何价值,你不知编译器会不会犯糊涂,就抛弃pdata吧





WHX 发表于 2023-6-4 13:35:14

学习了

qfzou 发表于 2023-7-9 16:57:23

好像帮我找到问题了
页: [1]
查看完整版本: STC8系列所有的变量都强制指定到 xdata