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

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

[复制链接]
  • TA的每日心情
    开心
    2024-9-24 11:06
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    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
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:54
  • 签到天数: 277 天

    [LV.8]以坛为家I

    30

    主题

    1754

    回帖

    5738

    积分

    论坛元老

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 00:45
  • 签到天数: 290 天

    [LV.8]以坛为家I

    26

    主题

    312

    回帖

    906

    积分

    高级会员

    机长

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

    使用道具 举报

  • TA的每日心情
    开心
    2024-9-24 11:06
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    2

    主题

    26

    回帖

    194

    积分

    注册会员

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

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

    使用道具 举报

  • TA的每日心情
    开心
    2024-9-24 11:06
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    2

    主题

    26

    回帖

    194

    积分

    注册会员

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

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-11-1 07:21 , Processed in 0.075930 second(s), 56 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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