OpenEdv-开源电子网

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

求助啊,移植ucosiii之后,显示函数不能正常工作

[复制链接]

70

主题

275

帖子

0

精华

高级会员

Rank: 4

积分
728
金钱
728
注册时间
2017-6-20
在线时间
188 小时
发表于 2017-12-13 10:16:14 | 显示全部楼层 |阅读模式
1金钱
自己写的获取温湿度的程序,未加ucosiii之前都能正常运作,加上ucosiii之后,调用显示函数的时候,却不能正常工作了,下面就是一个switch函数,每个case都是下面的形式,现在想把红色部分的sd卡部分单独剔除,可是发现上面蓝色的显示部分却不能正常工作了。如果不剔除下面的红色部分,就能正常工作,请问大家这是为什么啊?
6个case都是一样的:仅仅将case 6贴出来了
display_rt_val(get_tem_flag_num);
{
       swtich{
       case 1:               break;
    。。。。。。
    。。。。。。

       case 6:
       {
        /***********获取温度与显示部分***********/
         while(!rt_tem_value)      
         {
         rt_tem_value = get_temp_value6();  //获取温度
         rt_hum_value= get_hum_value6();//获取湿度
          i--;
          if(i==0) //i-到0说明没有接受到温湿度数据
          {
           LCD_Fill(320,220,398,280,backcolor);
           POINT_COLOR=BLACK;  
           LCD_ShowString(325,220,100,16,16,"error");  //则显示error
           break;
          }   
         }  
         if(rt_tem_value)  //如果有温度数据 下面的处理则是将数据在屏幕上显示出来,
         {
             sprintf(buff6_rt_tem,(const char *)"%.1f",rt_tem_value);
          sprintf(buff6_rt_hum,(const char *)"%.1f",rt_hum_value);
          LCD_Fill(320,220,398,280,backcolor);
          POINT_COLOR=BLACK;  
           LCD_ShowChar(380,250,'%',24,0);      
           for(j=0;j<4;j++)
           {
            LCD_ShowChar(j*15+320,220,buff6_rt_tem[j],24,0);
            LCD_ShowChar(j*15+320,250,buff6_rt_hum[j],24,0);        
           }

  /***********获取温度与显示部分***********/




     /****开启文件系统部分****/
       sprintf(buff1_rt,(const char*)"'TEMP':'%.1f','HUMI':'%.1f','CO2':'600','NH3':'15.6','GZD':'5555','SJSJ':\'%u-%02u-%02u %02u:%02u:%02u'\}\r\n",rt_dir6,rt_hum6,(u32)      calendar.w_year,(u32)calendar.w_month,(u32)calendar.w_date,(u32)calendar.hour,(u32)calendar.min,(u32)calendar.sec);         

       if(!SD_Init())
       {  

          sprintf(year,"/data/%u",calendar.w_year);  //
         if(f_opendir(&adir,year)!=FR_OK)
        {
//            sprintf(aaa,"/data/%u",calendar.w_year);  //
                   f_mkdir(year);                //
        }   
        sprintf(month,"/data/%u/%02u",calendar.w_year,calendar.w_month);
        if(f_opendir(&adir,month)!=FR_OK)
        {
         f_mkdir(month); //
        }
        sprintf(day,"/data/%u/%02u/%02u",calendar.w_year,calendar.w_month,calendar.w_date);//
        if(f_opendir(&adir,day)!=FR_OK)
        {
         f_mkdir(day);
        }
        sprintf(text,"/data/%u/%02u/%02u/SCatche6.txt",calendar.w_year,calendar.w_month,calendar.w_date);   
         res=f_open(&f_txt6,text,FA_OPEN_ALWAYS|FA_WRITE);  
//        res=f_open(&f_txt1,"/data/SCatche1.txt",FA_OPEN_ALWAYS|FA_WRITE);         
          f_lseek(&f_txt6,f_txt6.fsize);//&Ntilde;°&Otilde;&Ograve;&AElig;&eth;&Ecirc;&frac14;&Icirc;&raquo;&Ouml;&Atilde;&pound;&not;f_txt.size&Ecirc;&Ccedil;&Egrave;·&para;¨&Icirc;&Auml;&frac14;&thorn;&acute;ó&ETH;&iexcl;&pound;&not;&acute;&Oacute;&Icirc;&Auml;&frac14;&thorn;&micro;&Auml;×&icirc;&ordm;ó&Ograve;&raquo;&Icirc;&raquo;&iquest;&ordf;&Ecirc;&frac14;                    
          f_write(&f_txt6,btbuf6,strlen(btbuf6),(UINT*)&br);
//              f_printf(&f_txt,buff1_rt);
          f_close(&f_txt6);
          /****开启文件系统部分****/
        }  
         }

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-2 04:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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