野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9808|回复: 9

哪位大神做过用蓝牙和温湿度的程序?

[复制链接]
发表于 2017-4-17 19:22:37 | 显示全部楼层 |阅读模式
我用蓝牙穿温湿度的数据,合完两个程序,没有错之后运行,但是传输过去的,总是“Read DHT11 ERROR!”这句话,求做过的大神,能给个程序参考参考吗
回复

使用道具 举报

发表于 2017-4-18 08:52:37 | 显示全部楼层
DHT11的驱动有问题或者温湿度传感器没接好,先用我们DHT11的程序跑一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-18 15:10:07 | 显示全部楼层
flyleaf 发表于 2017-4-18 08:52
DHT11的驱动有问题或者温湿度传感器没接好,先用我们DHT11的程序跑一下

我已经用温湿度程序跑过了,能正常在串口助手上显示数据
回复 支持 反对

使用道具 举报

发表于 2017-4-18 15:19:36 | 显示全部楼层
asd13579 发表于 2017-4-18 15:10
我已经用温湿度程序跑过了,能正常在串口助手上显示数据

合并之后DHT11里使用的延时确认一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-18 15:42:03 | 显示全部楼层
flyleaf 发表于 2017-4-18 15:19
合并之后DHT11里使用的延时确认一下

C:\Users\Administrator\Desktop\捕获2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-18 15:44:25 | 显示全部楼层

#define TASK_ENABLE 0
#define NumOfTask 3

void SysTick_Init(void);
void mdelay(unsigned long nTime);
int get_tick_count(unsigned long *count);
void TimeStamp_Increment(void);
void Delay_us(__IO u32 nTime);         
#define Delay_ms(x) Delay_us(1000*x)         
#endif /* __SYSTICK_H */
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-18 15:54:58 | 显示全部楼层
flyleaf 发表于 2017-4-18 15:19
合并之后DHT11里使用的延时确认一下

#define TASK_ENABLE 0
#define NumOfTask 3

void SysTick_Init(void);
void mdelay(unsigned long nTime);
int get_tick_count(unsigned long *count);
void TimeStamp_Increment(void);
void Delay_us(__IO u32 nTime);      
#define Delay_ms(x) Delay_us(1000*x)         
#endif /* __SYSTICK_H */
我把DHT11的主程序替换到合的程序里,但是现在在串口不能显示数据,只有printf的那几个字符
int main(void)
{       
        DHT11_Data_TypeDef DHT11_Data;
        SysTick_Init();
        USART_Config();
        printf("\r\n***±ü»eSTM32 dht11 ÎÂêa¶è′«¸DÆ÷êμÑé***\r\n");
        DHT11_Init ();
        while(1)
        {       
                        /*μ÷óÃDHT11_Read_TempAndHumidity¶áè¡ÎÂêa¶è£¬èô3é1|Ôòêä3ö¸ÃDÅÏ¢*/
                        if( DHT11_Read_TempAndHumidity ( & DHT11_Data ) == SUCCESS)
                        {
                                printf("\r\n¶áè¡DHT113é1|!\r\n\r\nêa¶èÎa%d.%d £¥RH £¬Î¶èÎa %d.%d¡æ \r\n",\                                DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci);
}                       
else
{
printf("Read DHT11 ERROR!\r\n");
}       
Delay_ms(1000);
}
回复 支持 反对

使用道具 举报

发表于 2017-4-18 17:15:18 | 显示全部楼层
asd13579 发表于 2017-4-18 15:54
#define TASK_ENABLE 0
#define NumOfTask 3

要确认systick的中断时间
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-18 17:27:30 | 显示全部楼层
随风 发表于 2017-4-18 17:15
要确认systick的中断时间

void SysTick_Init(void)
{
        if (SysTick_Config(SystemCoreClock/1000000))       
        {
                while (1);
        }
        SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk;
}
我也是按照DHT11原程序上的1us中断一次改的
回复 支持 反对

使用道具 举报

发表于 2017-6-19 22:10:09 | 显示全部楼层
asd13579 发表于 2017-4-18 17:27
void SysTick_Init(void)
{
        if (SysTick_Config(SystemCoreClock/1000000))       

同问,有解决了的吗??望告知,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 04:41 , Processed in 0.030180 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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