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

2019-07-27 16:29发布

新手,最近在看瑞泰创新的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位,其值会根据程序变化。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
renyaq
1楼-- · 2019-07-27 20:25
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位也会跟着一起改变?
supernan
2楼-- · 2019-07-27 23:56
 精彩回答 2  元偷偷看……
栩栩如生
3楼-- · 2019-07-28 05:11
應該說與存儲方法沒有關係,應該是你手裡的板子存在硬件問題
houcs
4楼-- · 2019-07-28 08:29
是的,地址可能存在短線等方面的問題
renyaq
5楼-- · 2019-07-28 09:46
哦,我看下哈
zhangmangui
6楼-- · 2019-07-28 13:00
看看  应该是用CPLD做了译码    LED在CPLD上

一周热门 更多>