完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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,,*51rn$GNVTG,94.61,T,-545.30,M,1.06,N,1.97,K,A*25rn$GNRMC,025156.00,A,4546.53228,N,12640.91457,E,1,065,94.6,200717,999.9,E,A*16rn $GPGSV,4,1,10,8,68,047,35,10,16,062,48,27,32,065,49,16,14,115,47*4Ern$GPGSV,4,2,10,41,-44,000,,53,-44,000,,50,34,155,34,42,34,155,32*78rn";//$BDGSV,4,4,10,104,29,137,38*69rn$GLGSV,4,3,10,81,17,044,*5Crn"; 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) 写的太复杂,里面定义的东西太多导致程序执行几次就完全死机了。 |
|
相关推荐
1个回答
|
|
加大堆栈试试
|
|
|
|
只有小组成员才能发言,加入小组>>
505 浏览 0 评论
1032 浏览 1 评论
2415 浏览 5 评论
2735 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2554 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
589浏览 9评论
588浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
698浏览 6评论
567浏览 5评论
607浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-1 11:53 , Processed in 1.063761 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号