zhuming81 发表于 2026-2-4 15:33:16

咨询一个数组的问题

void timer_task_100ms()
{
      u8 array;
      u8 array1;
      static u8 a;
      a++;
      array=array1;
      array=array1;
      array=array1;
      array=array1;
   TX1_write2buff(a);
}
这段程序中,a值被限制在0x20无法自增,是哪里出问题了呢?

zhuming81 发表于 2026-2-4 15:35:00

使用STC32G12K128及官方库函数

lcwswust 发表于 2026-2-4 15:56:04

可能没有调用这个函数。
比如,改一下,多发一个字节0x66;

如果其它代码没有影响,建议去掉后再发上来,比如array相关的。

zhuming81 发表于 2026-2-4 16:18:30

我描述的可能有点问题,重新描述一下:a的值从0自增到0x20都正常的,到0x20后一直是0x20不变化,这个时候a++好像无效了

zhuming81 发表于 2026-2-4 16:22:33

上传源文件

蜗牛 发表于 2026-2-4 16:28:01

a = 0x20,array的数组越界了

lcwswust 发表于 2026-2-4 16:28:15

zhuming81 发表于 2026-2-4 16:22
上传源文件

哦,array[]越界了嘛,写array[]时写进了a里。
点击我所在楼层的“回复”才是回复我,我才会收到通知。

Ayb_ice 发表于 2026-2-4 16:41:24

0x20=32, 32*4+4=132,已经超出数组的索引范围了

zhuming81 发表于 2026-2-4 16:54:36

收到,感谢各位{:baoquan:}!!
页: [1]
查看完整版本: 咨询一个数组的问题