当前位置: 代码迷 >> 单片机 >> 初学者求指导.
  详细解决方案

初学者求指导.

热度:34   发布时间:2016-04-28 15:39:28.0
菜鸟求指导...................
#include <iostm8l152c6.h>
#include "delay.h"

#define PC_4  PC_IDR_bit.IDR4

void THD11_init();
void THD11_init();

u32 temp;
u8 verify;
void CLK_init()
{
  CLK_CKDIVR = 0X00;      //16 MHZ 系统时钟
}
void IO_output_init()
{
  PC_DDR |= MASK_PC_DDR_DDR4;
  PC_CR1 |= MASK_PC_CR1_C14;
  PC_CR2 &= ~MASK_PC_CR2_C24;
  //推挽输出
}
void IO_input_init()
{
  PC_DDR &= ~MASK_PC_DDR_DDR4;
  PC_CR1 &= ~MASK_PC_CR1_C14;
  PC_CR2 &= ~MASK_PC_CR2_C24;
  //悬浮输入
}
void THD11_init()
{
  u8 i;
  temp = 0;
  verify = 0;
  IO_output_init();       
  PC_ODR &= ~MASK_PC_ODR_ODR4;
  delay_ms_16M(19);         //delay 19 ms
  PC_ODR |= MASK_PC_ODR_ODR4;
  delay_us_16M(40);        //delay 21.3 us
  IO_input_init();
  while(PC_4!=0);
  while(1);
}
int main( void )
{
  CLK_init();
  while(1)
  {
    THD11_init();
    delay_ms_16M(200);     //delay 200 ms
  }
}
我初始化为什么DHT11 不返回值????哪里有问题吗?
------解决方案--------------------
输入寄存器和输出寄存器是不同的 判断条件不对
  相关解决方案