找回密码
 立即注册
楼主: 641529288

8051u的DMA_I2C,发送地址输入到DMA_I2CT_TXAH寄存器的问题。

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-04-17 08:11:14

1

主题

4

回帖

29

积分

新手上路

积分
29
发表于 2025-4-17 08:29:32 | 显示全部楼层
不使用xdata出现不识别正确地址,可使用volatile来解决。防止编译器优化,后能正常识别了。问题解决了。谢谢
结构体不使用xdata,得使用volatile防止编译器优化.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2025-4-17 08:57:13 | 显示全部楼层
64152*** 发表于 2025-4-17 08:26
在声明struct I2C_24Cxx xdata I2C_24C16_1 ;的时候使用xdata成功了。能正常识别地址了。
但又出现新的问 ...

缓冲区必须使用XDATA!
https://www.stcaimcu.com/forum.p ... tid=15528#pid150267
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-04-17 08:11:14

1

主题

4

回帖

29

积分

新手上路

积分
29
发表于 2025-4-17 09:21:41 | 显示全部楼层

如何实现结构体中的成员分区存储啊,上面为edata,下面为xdata?
如果这样声明struct I2C_24Cxx xdata I2C_24C16_1,声明的结构体里面的就全是xdata了。

结构体中分区存储.png

点评

上面不是发了吗,keil不支持这种操作。要么你就分成两个结构体。  详情 回复 发表于 2025-4-17 09:23
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2025-4-17 09:23:01 | 显示全部楼层
64152*** 发表于 2025-4-17 09:21
如何实现结构体中的成员分区存储啊,上面为edata,下面为xdata?
如果这样声明struct I2C_24Cxx xdata I2C ...

上面不是发了吗,keil不支持这种操作。要么你就分成两个结构体。
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 19:47 , Processed in 0.194633 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表