s3c2440 ds18b20驱动编写

本文介绍了如何在S3C2440平台上编写DS18B20温度传感器的驱动程序,包括硬件初始化、复位脉冲和应答脉冲的实现,以及读取和处理温度数据的详细步骤。通过发送命令和读取响应,转换得到的12位数据可得出精确到0.0625℃的温度值。
摘要由CSDN通过智能技术生成

上一篇单总线时序分析:https://blog.csdn.net/qq_40215005/article/details/96435251
在这里插入图片描述

这是ds18b20驱动大致结构

硬件初始化BYTE ds18b20_reset(void) 复位脉冲和应答脉冲函数
在这里插入图片描述

BYTE ds18b20_reset(void)
{
    s3c2410_gpio_cfgpin(S3C2410_GPG(0), S3C2410_GPIO_OUTPUT); //设置引脚GPG0为输出
    s3c2410_gpio_setpin(S3C2410_GPG(0), LOW);	//设置单总线信号为低电平
    udelay(480);//产生复位脉冲
    s3c2410_gpio_setpin(S3C2410_GPG(0), HIGH);	//设置单总线信号为高电平
    udelay(60);//从机等待

    s3c2410_gpio_cfgpin(S3C2410_GPG(0), S3C2410_GPIO_INPUT);//设置为输入,读取从机发送的信号
    if(s3c2410_gpio_getpin(S3C2410_GPG(0)))   //判断为低电平就应答成功
    {
        printk("ds18b20 reset failed.\r\n");
        return 1;
    }
    udelay(240);//保持60~240us时间
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值