2024年6月12日发(作者:)
/*包含了这么多的头文件,也不知道有的有没有用*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
/*和引脚相关的宏定义*/
#define DQ S3C2410_GPH9
#define CFG_IN S3C2410_GPH9_INP
#define CFG_OUT S3C2410_GPH9_OUTP
static int opencount = 0;
unsigned char init_ds(void)//ds18b20复位,返回0成功,返回1失败
{
unsigned char ret = 0;
s3c2410_gpio_cfgpin(DQ, CFG_OUT);
s3c2410_gpio_pullup(DQ, 0);
s3c2410_gpio_setpin(DQ, 1);
s3c2410_gpio_setpin(DQ, 0);
udelay(500);
s3c2410_gpio_setpin(DQ, 1);
udelay(50);
s3c2410_gpio_cfgpin(DQ, CFG_IN);
udelay(200);
ret = s3c2410_gpio_getpin(DQ);
s3c2410_gpio_cfgpin(DQ, CFG_OUT);
s3c2410_gpio_pullup(DQ, 0);
s3c2410_gpio_setpin(DQ, 1);
return ret;
}
void write_byte(char data)//向18b20写一个字节
{
char i = 0;
s3c2410_gpio_cfgpin(DQ, CFG_OUT);
s3c2410_gpio_pullup(DQ, 1);
for(i=0; i<8; i++){
s3c2410_gpio_setpin(DQ, 0);
udelay(10);
s3c2410_gpio_setpin(DQ, 1);
s3c2410_gpio_setpin(DQ, data&0x01);


发布评论