每隔8位,其值会根据程序变化

[复制链接]
643|12
 楼主| heweibig 发表于 2018-3-19 16:03 | 显示全部楼层 |阅读模式
新手,最近在看瑞泰创新的DSP箱子,有一个LED试验程序,代码如下:
// 定义指示灯寄存器地址和寄存器类型
#define LBDS (*((unsigned int *)0xc0000))
unsigned int * j=(unsigned int *)0xc0000;
// 子程序接口
void Delay(unsigned int nDelay);        // 延时子程序

main()
{
        unsigned int uLED[4]={1,2,4,8};        // 控制字,逐位置1: 0001B 0010B 0100B 1000B
        int i;
        
        InitSysCtrl();                                        // 初始化DSP运行时钟
        
        while ( 1 )
        {
                for ( i=0;i<4;i++ )
                {
                        LBDS=uLED[i];                // 正向顺序送控制字
                        Delay(256);                        // 延时
                }
                for ( i=3;i>=0;i-- )
                {
                        LBDS=uLED[i];                // 反向顺序送控制字
                        Delay(256);                        // 延时
                }
        }
}

void Delay(unsigned int nDelay)
{
        int ii,jj,kk=0;
        for ( ii=0;ii<nDelay;ii++ )
        {
                for ( jj=0;jj<512;jj++ )
                {
                        kk++;
                }
        }
}
使用CCS的memory查看0xc0000地址的内容,发现从0xc0000开始一片地址的值为0xffff,但从0xc0000地址开始,每隔8位,其值会根据程序变化。
 楼主| heweibig 发表于 2018-3-19 16:08 | 显示全部楼层
0x000C0000        0xFFF4        0xFFFF        0xFFFF
0x000C0003        0xFFFF        0xFFFF        0xFFFF
0x000C0006        0xFFFF        0xFFFF        0xFFF4
0x000C0009        0xFFFF        0xFFFF        0xFFFF
0x000C000C        0xFFFF        0xFFFF        0xFFFF
0x000C000F        0xFFFF        0xFFF4        0xFFFF
0x000C0012        0xFFFF        0xFFFF        0xFFFF
0x000C0015        0xFFFF        0xFFFF        0xFFFF
0x000C0018        0xFFF4        0xFFFF        0xFFFF
0x000C001B        0xFFFF        0xFFFF        0xFFFF
0x000C001E        0xFFFF        0xFFFF        0xFFF4
0x000C0021        0xFFFF        0xFFFF        0xFFFF
0x000C0024        0xFFFF        0xFFFF        0xFFFF
0x000C0027        0xFFFF        0xFFF4        0xFFFF
0x000C002A        0xFFFF        0xFFFF        0xFFFF
0x000C002D        0xFFFF        0xFFFF        0xFFFF
0x000C0030        0xFFF4        0xFFFF        0xFFFF
0x000C0033        0xFFFF        0xFFFF        0xFFFF
0x000C0036        0xFFFF        0xFFFF        0xFFF4
0x000C0039        0xFFFF        0xFFFF        0xFFFF
0x000C003C        0xFFFF        0xFFFF        0xFFFF
0x000C003F        0xFFFF        0xFFF4        0xFFFF
0x000C0042        0xFFFF        0xFFFF        0xFFFF
0x000C0045        0xFFFF        0xFFFF        0xFFFF
0x000C0048        0xFFF4        0xFFFF        0xFFFF
0x000C004B        0xFFFF        0xFFFF        0xFFFF
0x000C004E        0xFFFF        0xFFFF        0xFFF4
0x000C0051        0xFFFF        0xFFFF        0xFFFF
0x000C0054        0xFFFF        0xFFFF        0xFFFF
类似这样。
按理说应该只有0xc0000一个地址的值产生变化才对,为什么后续地址每隔8位也会跟着一起改变?
jiaxw 发表于 2018-3-19 16:12 | 显示全部楼层
跟存储方法有关吗?
zhaoxqi 发表于 2018-3-19 16:14 | 显示全部楼层

應該說與存儲方法沒有關係,應該是你手裡的板子存在硬件問題
zhaoxqi 发表于 2018-3-19 16:18 | 显示全部楼层

是的,地址可能存在短線等方面的問題
zhanghqi 发表于 2018-3-19 16:21 | 显示全部楼层

看看  应该是用CPLD做了译码    LED在CPLD上
jlyuan 发表于 2018-3-19 16:26 | 显示全部楼层
不知道会不会是硬件的问题
wuhany 发表于 2018-3-19 16:29 | 显示全部楼层
我觉得里面的cpld有译码吧
 楼主| heweibig 发表于 2018-3-19 16:32 | 显示全部楼层

哦,那我就知道怎么回事了,多谢大家,结贴了哈
smilingangel 发表于 2018-3-20 22:51 | 显示全部楼层
这个的看下硬件上是怎么设计的吧
firstblood 发表于 2018-3-21 22:28 | 显示全部楼层
这是按位处理的么
comeon201208 发表于 2018-3-21 22:42 | 显示全部楼层
这个不是一个简单的针对IO口的操作的么?
zhangbo1985 发表于 2018-3-22 22:32 | 显示全部楼层
这个是跟IO扣得控制相关系的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

869

主题

13089

帖子

7

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