void dht11_test(空隙){字节温度,湿度;dht11_status_t响应;printf_string(“\ n \ r \ n \ r *******************);printf_string(“\ n \ r * dht11测试*”);printf_string(“\ n \ r **************** \ n \ r”);dht11_init(dht11_gpio_port,dht11_data_pin,gpio3_irqn);虽然((响应= DHT11_READ(&温度,湿度))== DHT11_BUSY);if(response == dht11_fail)printf_string(“\ n \ rcould不读取温度和湿度!”);否则{printf_string(“\ n \tttemperature:”);printf_int(温度); printf_string("oC, Humidity: "); printf_int(humidity); printf_string("%RH"); } }
嗨prasanth.velliyangiri,
对不起,我据说就我无法检查这个问题,我可以检查DHT11是一个温度传感器的一些问题,但我无法看到它使用的界面,模拟数字,所以你可以使用SPI或I2C如果它具有数字接口或使用ADC,则驱动程序才能与传感器进行通信。我不明白是什么是Systick函数,这不是SDK的一部分,就可以告诉它与之有关。
谢谢mt_dialog.
嗨对话框
感谢你的回复
在SDK5.0.4 SDK 5.0.4 / DA1458X_SDK_5.0.4 / DA1458X_SDK / 5.0.4 / SDK /平台/驱动器/传感器/ DHT11
这是我提到的司机,我希望这是由对话开发的
谢谢你
嗨对话框
systick_usec_units():选择16 MHz的核心时钟(刻度为62.6 ns)或
参考时钟在1 MHz(刻度持续时间为1)作为Systick计时器的时钟源。
如果systick_usec_units()不是SDK的一部分,那么我如何选择参考时钟到1MHz
USEC.
选择Systick时钟频率。
TRUE:使用1 MHz的参考时钟频率
FALSE:使用16 MHz的核心时钟频率
谢谢对话框
嗨prasanth,
没有看到那个特定传感器的司机,它不在我们的任何一个例子中使用,所以我错过了它。
无论如何要正确使用它,您必须先将您的引脚配置为您的传感器的单个总线输出,如此GPIO_CONFIGUREPIN(DHT11_GPIO_PORT,DHT11_DATA_PIN,OUTPUT,PID_GPIO,TRUE)然后使用INIT函数void DHT11_INIT初始化(GPIO_PORT端口,GPIO_PIN引脚,IRQN_TYPE IRQ),然后使用DHT11_STATUS_T DHT11_READ(BYTE *,BYTE *);您可以开始读取数据。
谢谢mt_dialog.
嗨对话框
\ da1458x_sdk_5.0.3 \ da1458x_sdk \ 5.0.3 \ projects \ target_apps \ peripheral_examples \ systick \ keil_5
在SDK内我做了以下更改
gpio_configurepin(gpio_port_0,gpio_pin_0,输出,pid_gpio,false);
int main(空白)
{
UINT8_T * TEM;uint8_t * hum;
system_init();
periph_init();
// systick_test();
int i = 0xbfff;
当我 - ){
dht11_init(gpio_port_0,gpio_pin_0,gpio0_irqn);
dht11_read(tem,hum);
}
在DHT11.c
我命令这一点
// systick_usec_units(true);
但我仍然无法从传感器读取
我的传感器具有10K上拉,VCC = 5V,GND = GND,D = P0_0,
if(dht11_bit_get()<1)
返回DHT11_RESET(DHT11_FAIL);我总是得到dht11_fail ......?
请帮我解决这个问题..
嗨prasanth,
请尝试使用以下功能以测试传感器:
谢谢mt_dialog.
嗨对话框
谢谢你的帮助。现在我能得到数据。
我在dht11_init(dht11_gpio_port,dht11_data_pin,gpio3_irqn)造成了错误;现在的工作,谢谢
嗨prasanth,
如果答案是帮助,请将其标记为已接受。
谢谢mt_dialog.