胡方方 发表于 4 天前

请教STC32G144K246的问题

在使用stc32G144K246芯片时。我定义了一个数组uint8_t xdata pu8LCMDMARxBuffer;编译器将其地址放置在0x015820~0x02580c。
同时我又定义了uint8_t xdata *img;,img指针用来操作数组。但是好像img会发生溢出。那我该如何定义img。本人正在学习使用STC32G芯片,
在此前只学习过51,希望通过此芯片提升自己。







狂热主宰 发表于 4 天前

使用img指针的操作可能涉及大数组
处理数据的时间可能较长
可能延误重要操作

王昱顺 发表于 4 天前

累计超过64K的RAM后,需要使用far进行定义
请参见:https://www.stcaimcu.com/thread-20639-1-1.html

胡方方 发表于 3 天前

王昱顺 发表于 2026-4-6 18:22
累计超过64K的RAM后,需要使用far进行定义
请参见:https://www.stcaimcu.com/thread-20639-1-1.html ...

非常感谢您的解答!这篇文章使我进一步能进一步掌握一点点STC,但是pu8LCMDMARxBuffer我使用xdata来定义,为啥地址却是在0x15820,按理说应该小于0xFFFF吧。地址图片请查看原文。

王昱顺 发表于 3 天前

胡方方 发表于 2026-4-7 18:45
非常感谢您的解答!这篇文章使我进一步能进一步掌握一点点STC,但是pu8LCMDMARxBuffer我使用xdata来定义 ...

因为限制是xdata累计不能超过64K,但是对定义在什么地方没有限制

胡方方 发表于 3 天前

狂热主宰 发表于 2026-4-6 16:27
使用img指针的操作可能涉及大数组
处理数据的时间可能较长
可能延误重要操作 ...

您好,非常感谢您的指点{:baoquan:}。因为我的图像放在这个数组里,除了指针外还有其他比较好的操作数组的方式吗

胡方方 发表于 3 天前

胡方方 发表于 2026-4-7 18:45
非常感谢您的解答!这篇文章使我进一步能进一步掌握一点点STC,但是pu8LCMDMARxBuffer我使用xdata来定义 ...

好的好的,非常感谢!单片机学习路上解决每一个问题都非常不容易,工程师只有站在彼此的肩膀上才能快速成长。非常感谢王师傅的指导,也非常感谢stc提供的平台
页: [1]
查看完整版本: 请教STC32G144K246的问题