This commit is contained in:
shuixx 2019-06-09 15:00:27 +08:00
parent d06b2e9d14
commit e9ca82542c
2 changed files with 28 additions and 11 deletions

12
dev.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/sh
if [ -n "$1" ];then
rmmod ds18b20_224
make -j 2
insmod ds18b20_224.ko
sleep 2
fi
for i in `seq 1 10`
do
show-temp
done

View File

@ -27,14 +27,14 @@ int init_DS18B20(void)
unsigned int result;
DQ_OUT;
DQ_L;
udelay(480); //480~960
udelay(480);
DQ_H;
udelay(15); //15-60
DQ_IN;
udelay(60);//60-240
udelay(65);
result = DQ_V;
udelay(405);
printk("ds18b20 init result %d", result);
udelay(240);
printk("ds18b20 init result %d,%d", result, DQ_V);
udelay(180);
return result;
}
@ -53,7 +53,7 @@ unsigned char read_char(void)
udelay(2);
dat >>= 1;
DQ_IN;
udelay(15);
udelay(12);
if (DQ_V)
dat |= 0x80;
udelay(50);
@ -103,6 +103,14 @@ int initDs18b20(unsigned int gpioNum)
/*读取数据*/
void readDs18b20Data(unsigned char *value)
{
if (sizeof(&value) > 1){
value[0] = 0xff;
value[1] = 0xff;
}
else
{
return;
}
if (init_DS18B20())
{
return;
@ -119,11 +127,8 @@ void readDs18b20Data(unsigned char *value)
write_char(0xCC);
write_char(0xBE);
if (sizeof(&value) > 1)
{
value[0] = read_char();
value[1] = read_char();
}
value[0] = read_char();
value[1] = read_char();
}
void freeDs18b20(void)