每隔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位,其值会根据程序变化。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。