980578873 发表于 2023-3-16 19:24:06

编译器提示错误



大家好,小弟遇到如下问题,这是什么原因呢?怎么解决?谢谢。


405616736 发表于 2023-3-16 19:29:47

梁工 发表于 2023-3-16 23:29:37

data用太多了。
一般建议内存使用small模式,有数组的安排在xdata(使用xdata定义),数组元素少的可以安排在idata(使用idata定义),单个的变量默认在data。

980578873 发表于 2023-3-17 09:43:11

梁工 发表于 2023-3-16 23:29
data用太多了。
一般建议内存使用small模式,有数组的安排在xdata(使用xdata定义),数组元素少的可以安排 ...

梁工,xdata是不是在flash里面的存储区域?

980578873 发表于 2023-3-17 09:43:46

405616736 发表于 2023-3-16 19:29


好的,谢谢!xdata是不是在flash里面的存储区域?

乘风飞扬 发表于 2023-3-17 14:01:04

980578873 发表于 2023-3-17 09:43
好的,谢谢!xdata是不是在flash里面的存储区域?

xdata是内部扩展RAM区,不是放在Flash里面


常量可以定义到Flash存储区域,例如:
unsigned char code T_COM[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

980578873 发表于 2023-3-17 14:11:04

乘风飞扬 发表于 2023-3-17 14:01
xdata是内部扩展RAM区,不是放在Flash里面




单片机内部直接访问RAM和单片机访问内部扩展RAM有什么区别?另外,为什么还要单独做内部扩展RAM,内部直接访问RAM做大点(128+1024)不就行了吗?

梁工 发表于 2023-3-17 14:35:07

980578873 发表于 2023-3-17 09:43
梁工,xdata是不是在flash里面的存储区域?

xdata是扩展内存哦,建议仔细学习一下51架构,5种数据类型,bit(sbit)、data、idata、xdata、code。
页: [1]
查看完整版本: 编译器提示错误