问题描述
我对硬件中的内存布局有疑问。
我目前正在阅读设备Ade7978 (Isolated Energy Metering Chipset)的数据表。
在通过I²C或SPI进行通信的寄存器列表中(表39,第105页),它列出了所有数据的寄存器地址。这是前三个数字的摘录:
┌─────────┬─────────┬──────────────────────────────────┬─────────────────────────────────┐
│ Address │ Name │ Description │ Bit Length During Communication │
├─────────┼─────────┼──────────────────────────────────┼─────────────────────────────────┤
│ 0x4380 │ AIGAIN │ Phase A current gain adjust. │ 32 │
│ 0x4381 │ AVGAIN │ Phase A voltage gain adjust. │ 32 │
│ 0x4382 │ AV2GAIN │ Phase A V2P channel gain adjust. │ 32 │
└─────────┴─────────┴──────────────────────────────────┴─────────────────────────────────┘
值如何为32位长而地址值仅增加1?
寄存器没有直接映射到内存,怎么办?
它们是一个任意数字,只是决定为任意数字,并且内部映射到内存的不同部分吗?只是就位了,这样我就不会意外访问32位数字的中间吗?还是有硬件原因?
如果您有一个一般性的答案,一定可以。如果您碰巧知道Ade7978为何专门这样做,那对我也有好处。
谢谢您的时间。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)