打印
[MCU]

隔8位值变化

[复制链接]
319|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
heweibig|  楼主 | 2020-4-12 19:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手,最近在看瑞泰创新的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|  楼主 | 2020-4-12 19:53 | 只看该作者
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| | 2020-4-12 19:56 | 只看该作者

跟存储方法有关吗?

使用特权

评论回复
地板
zhaoxqi| | 2020-4-12 20:00 | 只看该作者
應該說與存儲方法沒有關係,應該是你手裡的板子存在硬件問題

使用特权

评论回复
5
zhaoxqi| | 2020-4-12 20:02 | 只看该作者
是的,地址可能存在短線等方面的問題

使用特权

评论回复
6
zhanghqi| | 2020-4-12 20:05 | 只看该作者
看看  应该是用CPLD做了译码    LED在CPLD上

使用特权

评论回复
7
jlyuan| | 2020-4-12 20:09 | 只看该作者

不知道会不会是硬件的问题

使用特权

评论回复
8
wuhany| | 2020-4-12 20:13 | 只看该作者
我觉得里面的cpld有译码吧

使用特权

评论回复
9
tian111| | 2020-4-12 20:17 | 只看该作者

这个的看下硬件上是怎么设计的吧

使用特权

评论回复
10
shimx| | 2020-4-12 20:20 | 只看该作者
这是按位处理的么

使用特权

评论回复
11
zwll| | 2020-4-12 20:23 | 只看该作者

这个不是一个简单的针对IO口的操作的么?

使用特权

评论回复
12
juventus9554| | 2020-4-12 20:26 | 只看该作者
这个是跟IO扣得控制相关系的

使用特权

评论回复
13
heweibig|  楼主 | 2020-4-12 20:29 | 只看该作者

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

869

主题

13089

帖子

7

粉丝