打印
[STM32F4]

程序跑飞了

[复制链接]
756|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxmmi|  楼主 | 2023-2-17 21:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
u8 AotoCompenAppro(u16  yzs)
{
        
        u16 b[10];
        u8 min=0,i;
        AotoCompenInit();
        for(i=0;i<32;i++)
        {
                if(AotoCompenEvent.Map.CapacityValue[i]>yzs)
                {
                        b[i]=AotoCompenEvent.Map.CapacityValue[i]-yzs;
                }
                else
                {
                        b[i]=yzs-AotoCompenEvent.Map.CapacityValue[i];
                }
        }

  for(i=0;i<32;i++)
        {
                if(b[i]<b[min])
                {
                        min=i;
                }
               
        }
        //min=(b[i]<b[min])?i:min;
        
        return min;
}
这是我写的一个排序的函数,程序只要一调用就跑飞了,我单步跟这个函数,发现可以正常运行,return返回的值也正常,但是一运行完,程序就飞了

使用特权

评论回复
沙发
songqian17| | 2023-2-17 21:25 | 只看该作者
u16 b[10];  越界了

for(i=0;i<32;i++)
        {
                if(b[i]<b[min])  都到 32了

使用特权

评论回复
板凳
hanwe| | 2023-2-17 21:28 | 只看该作者
好眼神

使用特权

评论回复
地板
zhuhuis| | 2023-2-17 21:30 | 只看该作者
果然for没有写对。。

使用特权

评论回复
5
tian111| | 2023-2-17 21:32 | 只看该作者
加看门狗呗。

使用特权

评论回复
6
songqian17| | 2023-2-17 21:33 | 只看该作者
果然是越界了。

使用特权

评论回复
7
yufe| | 2023-2-17 21:35 | 只看该作者
编译器竟然不会报错,给力。

使用特权

评论回复
8
wangzsa| | 2023-2-17 21:38 | 只看该作者
沙发慧眼如炬啊

使用特权

评论回复
9
spark周| | 2023-2-17 21:40 | 只看该作者
i的定义有问题

使用特权

评论回复
10
chuxh| | 2023-2-17 21:41 | 只看该作者
知道跑到哪里去了吗

使用特权

评论回复
11
juventus9554| | 2023-2-17 21:42 | 只看该作者
很明显  数据越界了

使用特权

评论回复
12
stly| | 2023-2-17 21:44 | 只看该作者
数据越界了  一开始定义的10  后来读取的32

使用特权

评论回复
13
llljh| | 2023-2-17 21:46 | 只看该作者
多明显啊  数组定义的不够长啊

使用特权

评论回复
14
happy_10| | 2023-2-17 21:55 | 只看该作者
这样的错误编译器是不会报错的

使用特权

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

本版积分规则

369

主题

4278

帖子

2

粉丝