OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 884|回复: 0

H7读if语句判断运行不正常问题

[复制链接]

89

主题

171

帖子

0

精华

高级会员

Rank: 4

积分
600
金钱
600
注册时间
2015-9-7
在线时间
140 小时
发表于 2023-11-20 17:43:30 | 显示全部楼层 |阅读模式
1金钱
遇到一个奇怪的问题,STM32H723 开启了ICACHE DCACHE ,写了一个程序测试外扩SDRAM,下面程序中的2处if判断不正常
uint32_t pbuffer[(32*1024*1024)/4] __attribute__((section(".bss.ARM.__at_0xC0000000")));//0xC0000000是SDRAM1的起始地址
uint32_t i = 0,err = 0;
void sdram_test(void)
{

        for(i=0;i < (32*1024*1024)/4;i++)
        {
            pbuffer[i] = 111;
        }
        for(i=0;i < (32*1024*1024)/4;i++)
        {
            pbuffer[i] = i;
        }
        err = 0;
        for(i=0;i < (32*1024*1024)/4;i++)
        {
           if(pbuffer[i]!=i) // 这里i大于66000多后i具体值不定,就会让下面的err++,但是实际上打印出来pbuffer[i]==i的
                                                {err++;}
                                        if(err==10) //这里面我让err等于10的时候才打印,但是但凡err大于0后就会打印
                                        {printf("start err:%i=d,buf[i]=%d\n",i,pbuffer[i]);}
        }
        if(err){printf("err:%d\n",err);}
                                else
                                        printf("SDRAM TEST OK\n");

}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 02:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表