找回密码
 立即注册
查看: 749|回复: 4

求帮助,数组无法有效保存数据(已解决)

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-09-24 11:06:27

2

主题

26

回帖

194

积分

注册会员

积分
194
发表于 2023-5-31 14:54:20 | 显示全部楼层 |阅读模式
本帖最后由 STC8H8K64U 于 2023-6-6 10:54 编辑

代码如下,代码水平不般,实际执行后会出现第0个元素存入无效,其它3个元素正常,望大神们伸下援手。


for(x=0;x<CH_Col;x++)
        {
           shift_temp =0;
                 temp1=0;
                 temp2=0;
                 temp3=0;
               
                 shift_temp = Prog_result_OK[x];
                 UartSendByte(shift_temp);
               
           temp1 = (shift_temp & 0x01) << 5;   //第1位数据移到第6位
           temp2 = (shift_temp & 0x02) << 3;   //第2位数据移到第5位
           temp3 = (shift_temp & 0x04) << 1;   //第3位数据移到第4位
                 shift_temp  = temp1 | temp2 | temp3;   //或运算
               
                 Indicator_result_OK[x] = shift_temp;
                 
                 Delayus(10);
                 UartSendByte(Indicator_result_OK[x]);
        }

实际串口输出,红色框是结果,正常应该是4组07 38,但第一组,没有出现38,而是00.
PSPV{9`Q6708J}R]XY{79ES.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:447
  • 最近打卡:2025-06-19 15:15:10
已绑定手机

40

主题

2064

回帖

7107

积分

论坛元老

积分
7107
发表于 2023-6-1 17:39:14 | 显示全部楼层
如电话沟通使用下列帖子的例程进行测试:
https://www.stcaimcu.com/forum.p ... =2461&pid=16822
如果还有问题的话,请上传完整的测试代码,我们一起分析。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:504
  • 最近打卡:2025-06-20 09:57:44
已绑定手机

29

主题

349

回帖

2007

积分

金牌会员

机长

积分
2007
发表于 2023-6-2 10:47:20 | 显示全部楼层
感觉像是别的地方写越界了,与数组本身并没太大关系。(深度怀疑UartSendByte方法)
业余撸代码,专业开飞机 https://gitee.com/STC-MCU
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-09-24 11:06:27

2

主题

26

回帖

194

积分

注册会员

积分
194
发表于 2023-6-6 10:06:38 | 显示全部楼层
本帖最后由 bogejiayou 于 2023-6-6 10:07 编辑

感谢您电话给于的帮助,在您提供的例程上我逐渐增加了接近我这里实际情况的代码,最终发现为#define的常量重定义导致编译时数组做为报警项并未正确编译进程序,实际程序使用到该数组时指针可能是错误的随机地址,输出也就是错误的,不过实际程序展现来看,这个错误值倒是固定值,不过并没有意义。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-09-24 11:06:27

2

主题

26

回帖

194

积分

注册会员

积分
194
发表于 2023-6-6 10:11:15 | 显示全部楼层
hsr*** 发表于 2023-6-2 10:47
感觉像是别的地方写越界了,与数组本身并没太大关系。(深度怀疑UartSendByte方法) ...

您分析对了,,最后发现是我大意了没有去处理警告信息,实际这个数组并没能正确的编译。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-20 14:05 , Processed in 0.127862 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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