基于STM32F1的DHT11模块问题,无法充值积分,那支付宝/微信转10元?

2019-07-21 01:19发布

用的KEIL5。用的芯片是STM32F103VET6。PCB是自己画的。模块没有问题,在别人板子上测试过。
跑的是例程。我不存在引脚没改对的问题。可能有问题的就是寄存器有没有写对。我用的是C1。如下所示,应该没写错?
#define DHT11_IO_IN()  {GPIOC->CRL&=0XFFFFFF0F;GPIOC->CRL|=8<<4;}
#define DHT11_IO_OUT() {GPIOC->CRL&=0XFFFFFF0F;GPIOC->CRL|=3<<4;}程序死在下面。也就是无法检测到模块。
u8 DHT11_Check(void)           
{   

        u8 retry=0;
        DHT11_IO_IN();//SET INPUT         
  while (DHT11_DQ_IN&&retry<100)//DHT11&#187;áà-μí40~80us
        {
                retry++;
                delay_us(1);
        };         
        if(retry>=100)return 1;
        else retry=0;
  while (!DHT11_DQ_IN&&retry<100)//DHT11à-μíoó&#187;á&#212;ù′&#206;à-&#184;&#223;40~80us
        {
                retry++;
                delay_us(1);
        };
        if(retry>=100)return 1;            
        return 0;
}

猜测可能是时序问题,但时序不是模块自带的?我也不会改。
模块没有问题,代码是示例,引脚什么都改了,所以可能是板子的问题?
希望有大佬能看看。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
warship
1楼-- · 2019-07-21 15:14
 精彩回答 2  元偷偷看……
warship
2楼-- · 2019-07-21 20:02
DHT11的温湿度不太稳定,
我这里采用每10次平均(本次与前9次平均),
这样既可以很快采样,又可以提高稳定性。
起个昵称真难
3楼-- · 2019-07-22 01:30
warship 发表于 2019-5-14 15:20
DHT11的温湿度不太稳定,
我这里采用每10次平均(本次与前9次平均),
这样既可以很快采样,又可以提高稳 ...

谢谢
huangjun
4楼-- · 2019-07-22 02:29
 精彩回答 2  元偷偷看……
warship
5楼-- · 2019-07-22 03:40
 精彩回答 2  元偷偷看……
起个昵称真难
6楼-- · 2019-07-22 08:28
warship 发表于 2019-5-14 18:45
提醒得对,
时钟不对的话,延时就不准了,
DHT11对时序要求偏高。

请问时钟的配置是怎么做的呢?

一周热门 更多>