OpenEdv-开源电子网

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

程序执行几遍就死机?

[复制链接]

32

主题

171

帖子

0

精华

高级会员

Rank: 4

积分
697
金钱
697
注册时间
2017-1-7
在线时间
75 小时
发表于 2017-7-22 11:43:25 | 显示全部楼层 |阅读模式
3金钱
UCOSIII系统只创建了一个任务void bd910_update(void *p_arg)和一个软件定时器void tmr1_callback(void *p_tmr, void *p_arg),软件定时器中只让LED灯的电平进行翻转。另外一个任务是处理数据,任务写的是定义一个数组,数组的内容的长度大概有500字节,然后再调用另一函数void Data_rewrite(char *buf,u16 len)来讲数组里面额数据的顺序进行改变。

//接收BD910定位数据任务
void bd910_update(void *p_arg)
{
      char recv5[]="$GPGGA,025156.0,4546.53228,N,12640.91457,E,1,06,8.0,142.5,M,14.3,M,,*51\r\n$GNVTG,94.61,T,-545.30,M,1.06,N,1.97,K,A*25\r\n$GNRMC,025156.00,A,4546.53228,N,12640.91457,E,1,065,94.6,200717,999.9,E,A*16\r\n
                         $GPGSV,4,1,10,8,68,047,35,10,16,062,48,27,32,065,49,16,14,115,47*4E\r\n$GPGSV,4,2,10,41,-44,000,,53,-44,000,,50,34,155,34,42,34,155,32*78\r\n";//$BDGSV,4,4,10,104,29,137,38*69\r\n$GLGSV,4,3,10,81,17,044,*5C\r\n";
     OS_ERR err;
     p_arg = p_arg;
               
     OSTmrStart(&tmr1,&err);        //开启定时器1,关闭定时器1是OSTmrStop(&tmr1,OS_OPT_TMR_NONE,0,&err);
     while(1)
    {
                Data_rewrite(recv5,500) ;
                delay_us(100);
                sendCom4(Recv5Send4,500);
                delay_us(100);
                UBX_i=0;
                strFlag=0;
                LED10=~LED10;
                OSTimeDlyHMSM(0,0,0,50,OS_OPT_TIME_HMSM_STRICT,&err); //延时100ms       
   }

}

//定时器1的回调函数
void tmr1_callback(void *p_tmr, void *p_arg)
{
       
        LED7=~LED7;    //1秒闪烁一次,系统正常运行
       

}




会不会调用的函数Data_rewrite(recv5,500) 写的太复杂,里面定义的东西太多导致程序执行几次就完全死机了。

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165287
金钱
165287
注册时间
2010-12-1
在线时间
2107 小时
发表于 2017-7-22 23:14:58 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-2 02:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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