STM32f10x。。数组初始化有错误。。只能初始化前64个字节

冰冰忍者   2010-7-20 10:19 楼主
STM32f10x。。数组初始化有错误。。只能初始化前64个字节

回复评论 (16)

                                 香香  快来~~
点赞  2010-7-20 10:28
                                 什么编译器?这么差!
点赞  2010-7-20 10:53
                                 Keil 4.10   用的ST-link   貌似是仿真器的问题?   我用isp下载直接下载flash出来看  和用仿真器看的值不一样
点赞  2010-7-20 11:01
用J-LINK 试一试,
满大街的盗版比ST-LINK便宜多了
点赞  2010-7-20 11:08
                                    J-link 连不上
点赞  2010-7-20 11:12

7楼 icu 

你确定这段代码完整?
define   SMS_SIZE    256   //是#define吧?
vu8 SMS_Content[SMS_SIZE];
for(i=0;i<SMS_SIZE;i++) //i应该至少是16位的,否则会死循环
    {
        SMS_Content = 0xFF; //应该是SMS_Content[ i ] = 0xFF;吧?
    }

要清空数组,推荐使用memset(SMS_Content,0,sizeof(SMS_Content));这种方式
点赞  2010-7-20 11:18
你的问题是比较怪啊。
建议你好好看看汇编程序,看看是不是编译器的问题。
脱离仿真器看看还是不是这个结果
define   SMS_SIZE    256  没看到# 是不是贴错了。
另外不要用斜体了,看着不舒服。
点赞  2010-7-20 11:24
                                 确定代码无误  汇编也对的  另外两位同事也遇到同样的问题
点赞  2010-7-20 11:32
                                 谁身边有keil 4.10 +  ST-link   可以试试~
点赞  2010-7-20 11:33
                                  谢谢
点赞  2010-7-20 11:36
你先把你的代码写(贴)规范吧。看看楼上的建议
汇编也对,执行错误,那就是见鬼了。
点赞  2010-7-20 11:36
这个以前不是也有个人遇到了吗,是MDK的问题。实际里面数据是对的,但是watch只能看到前面的数据。你可以把数据从串口送出看看就知道了。
话说这个MDK真是有些问题,现在切换到IAR上进展快好多。
点赞  2010-7-20 11:40
if(7# == TURN)
{
     whereismegad = 00000000;
     
}
点赞  2010-7-20 11:54
                                 只是想说明这么一个问题   帖子内容是网上粘贴的
点赞  2010-7-20 12:05


ASDF是个啥网站?黑不溜秋的。
点赞  2010-7-20 12:14
                                 什么狗屁程序
点赞  2010-7-20 22:59
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复