OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4589|回复: 0

求大神帮助,只有开机后执行了一次,再就不执行了,为啥??,,,

[复制链接]

9

主题

18

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2021-9-2
在线时间
6 小时
发表于 2022-7-16 13:41:51 | 显示全部楼层 |阅读模式
5金钱
u8 Data[8] = {"0"};//定义一个数组,用于存放整数的设置浓度,也就是存放Dev.QeU转换后的数据;
u8 Data1[12] = {0};//再定义一数组,用于存放浓度转换后的U码格式。

u8 Data2[12] = {0};//再定义一数组,用于存放浓度转换后的U码格式。

void concentration(void)                                      

{
        char c;                                         
        c = Dev.QeU;                                      
        sprintf((char*)&Data[0],"%ld",c);         //为啥每次执行到这里就卡住了
      
      
        u8 i;
        char Str1[10];                                       
        for(i = 0;i < 4;i ++)                             //    只有开机后执行了一次,再就不执行了,为啥??,,,
        {
                sprintf(Str1,"%04x",Data);                                       
                strcat((char*)Data1,Str1);                                      
        }
        memcpy(&Data2[44],Data1,8);                     
          }

Data  和  Data1  和  Data2   分别是三个数组,Dev.QeU这个变量可以正常动态输出,但是,,Data1,Data2永远只输出开机后的一组数,不会随着Dev.QeU变化而变化,
这个for循环为啥只执行一次?求帮助。我应该怎么改,能使得数组1.2能动态更新。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-26 18:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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