gpt4 book ai didi

c - 数组被删除

转载 作者:行者123 更新时间:2023-11-30 18:08:19 24 4
gpt4 key购买 nike

我遇到了一种情况,我正在将命令写入命令​​缓冲区。当命令缓冲区中的命令需要执行时,该命令将被处理并将其从 UART 发送到另一个子系统。当命令被处理时,需要从 UART 发送的数据被存储在队列中,并产生一个标志。然后,在我的主 while 循环之后不久,检查该标志是否已升起,如果是,则将数据发送出 UART。然而,在处理命令和准备发送 UART 之间,数组会被损坏。我知道这一点是因为我正在使用在线调试器并设置断点。到底发生了什么?我该如何解决这个问题?

这是所发生情况的示例:

处理完并存储到队列后(a[]是队列):

a[0] = 0x3;
a[1] = 0x6;
a[2] = 0x9;

在准备好发送 UART 之前:

a[0] = 0x3;
a[1] = 0x6;
a[2] = 0x0;

有时甚至,

a[0] = 0x3;
a[1] = 0x0;
a[2] = 0x0;

行为是随机的。有时只有一个字节被损坏,有时则是两个字节。

最佳答案

设置字节监视。这样,当有人写入调试器时,调试器就会停止。

关于c - 数组被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3549326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com