找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1716|回复: 10
打印 上一主题 下一主题
收起左侧

单片机读ds18b20温度数据的引脚输出配置漏极开路还是推挽输出?

[复制链接]
楼主
ID:827243 发表于 2021-4-15 14:05 | 显示全部楼层
我用的是EFR32 CPU 下面程序可用。
/****************DS18B20读1字节函数************************/
//从总线上取1个字节
uint8_t ReadDSByte(void)
{
  uint8_t i;
  uint8_t value=0;
  for(i=8;i>0;i--)
  {
    GPIO_PinModeSet(gpioPortF, 7, gpioModePushPull, 1);
    value>>=1;
    GPIO_PinOutClear(gpioPortF, 7);
    delay_us(2); //1.6 us
    GPIO_PinOutSet(gpioPortF, 7);
    GPIO_PinModeSet(gpioPortF, 7, gpioModeInputPullFilter, 1);
    delay_us(12); //5 us
    if (GPIO_PinInGet(gpioPortF, 7)) value|=0x80;
    delay_us(50); //45 us
  }
//  GPIO_PinModeSet(gpioPortF, 7, gpioModePushPull, 0);
//  GPIO_PinOutSet(gpioPortF, 7);
  return(value);
}
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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