OpenEdv-开源电子网

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

RTX在创建了任务以后,在任务里初始化串口,程序跑死了,为什么呢?

[复制链接]

13

主题

79

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2015-9-22
在线时间
76 小时
发表于 2016-8-25 22:14:37 | 显示全部楼层 |阅读模式
1金钱
贴代码
[mw_shl_code=applescript,true]int main()
  {
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//éèÖÃÏμí3ÖD¶ÏóÅÏ輶·Ö×é4
                    spi_init();
              LED_Init();
                    uart_init(9600);
               
        mpu_init();
                    delay_ms(10);
              TIM3_Int_Init(49999,84-1);        //¶¨ê±Æ÷ê±Öó84M£¬·ÖÆμÏμêy8400£¬ËùòÔ84M/8400=10KhzμļÆêyÆμÂ꣬¸ù¾Y2éÑùÂê¼ÆËãÖüÆú
                    incPIDinit();  //3õê¼»ˉPID2Îêy
                    PID_set(0.8,1.85,0.0);  //é趨PID±èày»y·Ö΢·ÖμÄÏμêy¡£
                    usart3_init(38400);                        //3õê¼»ˉ′®¿ú32¨ìØÂêÎa38400
              os_sys_init(taskcreat);          ////            Ä¬èÏóÅÏ輶Îa1
                    os_tsk_delete_self();
         }
       
__task void taskcreat()     ///////////////////////////////////////′′½¨èÎÎñ
  {        
                       gpstask=os_tsk_create(gps,17);    ///////////////////////////////////ÏèÖ′DDÕa¸öèÎÎñ
                                         Ledtask=os_tsk_create(Led,2);
                                         moror_controltask=os_tsk_create(moror_control,3);
                                         MPU9250task=os_tsk_create(MPU9250,4);
                       boundary_signaltask=os_tsk_create(boundary_signal,5);
                       gpstask=os_tsk_create(gps,17);    ///////////////////////////////////ÏèÖ′DDÕa¸öèÎÎñ
                       
                                         //message_solvetask=os_tsk_create(message_solve,55);
               
                                         os_tsk_delete_self();
  }[/mw_shl_code]




[mw_shl_code=applescript,true]__task void gps()                ///////////////////////////GPSμÄé趨óë′|àíóÅÏ輶  6 /////////////////
{
  float tmp1,tmp2;
        u16 i,rxlen;
        u16 lenx;
        u8 key=0XFF;
        u8 upload=0;
        printf("666666666666");
   if(Ublox_Cfg_Rate(10000,1)!=0)        //éèÖö¨Î»DÅÏ¢¸üDÂËù¶èÎa10000ms,Ë3±ãÅD¶ÏGPSÄ£¿éêÇ·ñÔúλ.   //¡¢GPSË¢DÂËùÂê
        {  
                while((Ublox_Cfg_Rate(10000,1)!=0)&&key)        //3ÖDøÅD¶Ï,Ö±μ½¿éòÔ¼ì2éμ½NEO-6M,Çòêy¾Y±£′æ3é1|
                {
                        LED0=1;
                        printf("000");
                        usart3_init(9600);                        //3õê¼»ˉ′®¿ú32¨ìØÂêÎa9600(EEPROMûóD±£′æêy¾YμÄê±oò,2¨ìØÂêÎa9600.)
                        printf("111");
                  Ublox_Cfg_Prt(38400);                        //ÖØDÂéèÖÃÄ£¿éμÄ2¨ìØÂêÎa38400
                        usart3_init(38400);                                //3õê¼»ˉ′®¿ú32¨ìØÂêÎa38400
                        Ublox_Cfg_Tp(1000000,100000,1);        //éèÖ&#195PSÎa1ÃëÖóêä3ö1′Î,Âö3å¿í¶èÎa100ms        μÆ  
      printf("2222");                       
                        key=Ublox_Cfg_Cfg_Save();                //±£′æÅäÖà 
                        if(key!=0)printf("»1ûóD±£′æÅäÖÃ");delay_ms(100);
                        if(key==0)printf("òѾ-±£′æÅäÖÃ\n\r");delay_ms(10);
                        LED0=0;
                       
                }       
        }
    os_tsk_prio_self(6);                //////¸Ä±äGPSμÄèÎÎñóÅÏ輶
while(1)
        {               
                delay_ms(1);
                if(USART3_RX_STA&0X8000)                //½óêÕμ½ò»′Îêy¾YáË
                {
                        rxlen=USART3_RX_STA&0X7FFF;        //μÃμ½êy¾Y3¤¶è
                        for(i=0;i<rxlen;i++)USART1_TX_BUF=USART3_RX_BUF;          
                        USART3_RX_STA=0;                           //&#198;&#244;&#182;ˉ&#207;&#194;ò&#187;′&#206;&#189;óê&#213;
                        USART1_TX_BUF=0;                        //×&#212;&#182;ˉìí&#188;ó&#189;áê&#248;·&#251;
                        GPS_Analysis(&gpsx,(u8*)USART1_TX_BUF);//·&#214;&#206;&#246;×&#214;·&#251;′&#174;    °&#209;×&#214;·&#251;′&#174;·&#197;μ&#189;á&#203;′&#174;&#191;úò&#187;μ&#196;buf
                        tmp1=gpsx.longitude, tmp2=gpsx.latitude;
                  printf("%f    %f   \n\r",tmp1/100000,tmp2/100000);
                }
                printf("666666666666");
  }                       
       
       
}[/mw_shl_code]

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

使用道具 举报

13

主题

79

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2015-9-22
在线时间
76 小时
 楼主| 发表于 2016-8-25 22:15:54 | 显示全部楼层
打印字符串显示初始化直接跑死了
搜狗截图16年08月25日2226_1.png
回复

使用道具 举报

13

主题

79

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2015-9-22
在线时间
76 小时
 楼主| 发表于 2016-8-26 09:12:22 | 显示全部楼层
meiren a
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
11922
金钱
11922
注册时间
2015-11-5
在线时间
2086 小时
发表于 2016-8-26 10:46:43 | 显示全部楼层

大兄弟,这版不是RTX版。。
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 22:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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