野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11794|回复: 1

关于以太网轮寻和其他程序冲突的问题

[复制链接]
发表于 2016-3-1 15:09:51 | 显示全部楼层 |阅读模式
我做了一个自动浇花系统,用到温湿度DHT11例程、以太网例程和照相机例程,我将三个程序结合起来,修改了一些设置,可是三个功能无法同时运行,因为以太网是死循环,无法跳转出来,如果跳转出来,则以太网程序就无法运行。下面是我的主程序,其中的问题很多,求教大家


DHT11_Data_TypeDef DHT11_Data;
__IO uint32_t LocalTime = 0;
extern uint8_t Ov7725_vsync;
volatile uint8_t camera_flag;

int main(void)
{
       
               
        LCD_Init();       
        LCD_Clear(0, 0, 240, 320, BACKGROUND);
       
  USART2_Config();
  LED_GPIO_Config();
        DHT11_GPIO_Config();
       
        EXTI_PC13_Config();

        Sd_fs_init();
       
  USART1_Config();         

        ENC_SPI_Init();                

        LwIP_Init();

        httpd_init();

  CMD_init();                                       

       
        while ( 1 )
        {       
                SysTick2_Init();
                if( Read_DHT11(&DHT11_Data)==SUCCESS)
        {
                printf("\r\n\r\n\r\n%d.%d , %d.%d\r\n",\
                DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci);
                printf("\r\n:%d,%d \r\n" ,DHT11_Data.humi_int,DHT11_Data.temp_int);
               
                LCD_DispStr(10, 110, (uint8_t *)"humidity:", WHITE);
                LCD_DisNum(64, 110, DHT11_Data.humi_int,  WHITE);
               
                LCD_DispStr(10, 130, (uint8_t *)"temperature:", WHITE);
                LCD_DisNum(82, 130, DHT11_Data.temp_int, WHITE);
                if(DHT11_Data.humi_int<50&&DHT11_Data.temp_int<50)
               
         {
         LED1(1);
   }
                else
         {
         LED1(0);
         }
         }
          else
         {
                printf(" ERROR\r\n");
                LCD_DispStr(10, 110, (uint8_t *)"  ERROR",WHITE);
                LED1(0);
         }
                                              


        if(camera_flag == 1)       
        Ov7725_GPIO_Config();
       
        while(Ov7725_Init() != SUCCESS);
       
        VSYNC_Init();       
        Ov7725_vsync = 0;
       
        while(1)
        {
        {
                if( Ov7725_vsync == 2 )
                {
                        FIFO_PREPARE;                                                         
                        ImagDisp();                                       
                        Ov7725_vsync = 0;                       
                }
       
    SysTick_Init();       
                LwIP_Periodic_Handle(LocalTime);}}
    }

}



回复

使用道具 举报

发表于 2016-3-1 18:25:23 | 显示全部楼层
多个设备同时用的时候,要检查下引脚是不是共用了
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 12:39 , Processed in 0.026506 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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