[PIC®/AVR®/dsPIC®产品] 51为何有的数据需要设置为idata类型

[复制链接]
 楼主| xuanhuanzi 发表于 2024-10-22 21:32 | 显示全部楼层 |阅读模式

把这个发送BUFF加个idata就好了,谁知道咋回事

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
天灵灵地灵灵 发表于 2024-10-22 21:59 | 显示全部楼层
在C51编译器中,idata(内部数据存储区)是指定变量存储在片上RAM的特殊关键字。它主要用于指定变量存储在8051微控制器的内部数据存储器的地址范围0x00到0x7F。你这个好像是串口,属于内部啊,所以要加这个关键字。
波尔街道的松柏 发表于 2025-7-28 21:00 | 显示全部楼层
51 单片机中,idata 类型数据存于内部 RAM(256 字节),访问速度快,适合频繁读写变量,如循环计数器、标志位等。
旧巷情人 发表于 2025-8-12 19:31 | 显示全部楼层
51 单片机中,idata 用于指定数据存储在内部 RAM 的可直接寻址区(00H-FFH),该区读写速度快。当需要频繁访问的数据(如循环变量、临时变量),设为 idata 可提升效率,尤其在内部 RAM 充足时优先使用。
野玫瑰 发表于 2025-8-22 09:56 | 显示全部楼层
在 51 单片机中,idata 类型用于指定数据存储在内部直接寻址 RAM(即片内 RAM 的低 128 字节)。51 单片机的片内 RAM 分为直接寻址区(00H-7FH)和间接寻址区(80H-FFH,部分型号有)。

idata 类型允许访问整个片内 RAM(包括可间接访问的区域),通过 R0/R1 间接寻址。当数据需频繁访问且片内 RAM 空间充足时,用 idata 可提高访问效率,比 xdata(外部 RAM)速度快得多。

若数据量小且需直接寻址,可用 data 类型;若需用片内全部 RAM 资源(尤其超过 80H 的区域),则需定义为 idata 类型,平衡空间利用与访问速度。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

183

主题

2307

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部