野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8863|回复: 4

寄存器的地址

[复制链接]
发表于 2019-6-17 15:19:52 | 显示全部楼层 |阅读模式
[mw_shl_code=c,true]const uchar cfr1[]={0x00,0x40,0x00,0x00};                   //cfr1控制字
const uchar cfr2[]={0x01,0x00,0x00,0x00};                   //cfr2控制字
const uchar cfr3[]={0x05,0x0F,0x41,0x32};                                                        //cfr3控制字 40M输入  25倍频  VC0=101   ICP=001;
u8 profile11[]={0x3f,0xff,0x00,0x00,0x25,0x09,0x7b,0x42};   //profile1控制字 0x25,0x09,0x7b,0x42
                                                                                                                                                                                                                                                //01振幅控制 23相位控制 4567频率调谐字[/mw_shl_code]


想知道这些值在地址中存放是怎么存放的,突然发现自己连基本的都不会了。
拿cfr3寄存器举例,依我的理解,cfr3寄存器的32个位存放的是0X32410F05,二进制就是0011 0010 0100 0001 0000 1111 0000 0101(左高右低排列)。但注释上说VCO = 101,ICP = 001.
数据手册上说VCO的选择位为CFR3[26:24],ICP的选择位为CFR3[21:19].那么按我的计算的地址来的话VCO = 010,ICP = 000.所以具体地址存放应该什么样的?大神们提点一下,谢谢了。
(上面代码是AD9910的源代码的一小部分。)
回复

使用道具 举报

发表于 2019-6-17 18:10:16 | 显示全部楼层
就是按顺序排呀,为什么要反过来
1.png

1.png
回复 支持 反对

使用道具 举报

发表于 2019-6-17 18:37:31 | 显示全部楼层
楼主对内存理解还存在问题。
你这个是数组,数组在内存中,当然是按地址依次增长,不需要颠倒。
如果将uchar[4]换成u32,则需要考虑大小端问题,针对stm32-cm3内核,是小端序列,低地址存放在低字节,因此需要颠倒。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-17 20:37:51 | 显示全部楼层
bootblack 发表于 2019-6-17 18:37
楼主对内存理解还存在问题。
你这个是数组,数组在内存中,当然是按地址依次增长,不需要颠倒。
如果将uc ...

也就是说我是按小端排序的对吧?
我的理解是数组cfr[0] = 0x05肯定放在最低字节,cfr3[1]=0x0f放在倒数第二字节,cfr3[2] = 0x41放在倒数第三字节,cfr3[3]=0x32放在最高字节。就是按地址增长。
为什么cfr3[3]会放到最低字节?cfr3[0]放到最高字节?
回复 支持 反对

使用道具 举报

发表于 2019-6-18 08:52:27 | 显示全部楼层
wx_qI5uA9eD 发表于 2019-6-17 20:37
也就是说我是按小端排序的对吧?
我的理解是数组cfr[0] = 0x05肯定放在最低字节,cfr3[1]=0x0f放在倒数第 ...

刚好最近也在看 STM32 内部flash 数据4字节对其,给你举个例子。

uint_32 的一个地址数字假如是:12345678.
如果地址转换成uint_8, 可以是cfr[4]里面。cfr[4]数组对应存放的内容是 12 34 56 78.
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-29 15:52 , Processed in 0.068064 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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