新手,最近在看瑞泰创新的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位,其值会根据程序变化。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>