我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 860|回复: 5

SHT30温湿度传感器单片机模拟I2C代码实现

[复制链接]

该用户从未签到

2

主题

17

回帖

0

积分

一级逆天

积分
0

终身成就奖

发表于 2020-9-2 17:12:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
#include "EW_iic.h"

void EW_IIC_Start(void )
{
  SDA_H;
  __delay_cycles(8); //1us
  SCL_H;
  __delay_cycles(8); //1us
  SDA_L;
  __delay_cycles(80); //10us
  SCL_L;
  __delay_cycles(80); //10us
}

void EW_IIC_Stop(void )
{
  SDA_L;
  __delay_cycles(8); //1us
  SCL_L;
  __delay_cycles(8); //1us
  SCL_H;
  __delay_cycles(80); //10us
  SDA_H;
  __delay_cycles(80); //10us
}

void EW_IIC_WriteByte(INT8U txbyte)
{
  INT8U mask;
  
  for(mask = 0x80; mask > 0; mask >>= 1)
  {
    if((mask & txbyte) == 0) SDA_L;
    else SDA_H;
    __delay_cycles(16); //2us
    SCL_H;
    __delay_cycles(16); //2us
    SCL_L;
    if(mask == 1)
    {
      SDA_InitInputF();
    }
  }
  __delay_cycles(16); //2us
  SCL_H;
  /*
  if(!SDA_READ)
  {
   LED_TOG;
  }
  */
  __delay_cycles(16); //2us
  SCL_L;
  __delay_cycles(16); //2us
  SDA_H;
  SDA_InitOutHigh();
}

void EW_IIC_ReadByte(INT8U *rxbyte, AckDef ack)
{
  INT8U mask;
  *rxbyte = 0x00;
  
  SCL_L;
  SDA_InitInputF();
  
  for(mask = 0x80; mask > 0; mask >>= 1)
  {  
    __delay_cycles(16);  
    SCL_H;
    if(SDA_READ) *rxbyte |= mask;
    __delay_cycles(16);
    SCL_L;
  }
  SDA_InitOutHigh();
  if(ack == ACK) SDA_L;
  else SDA_H;
  __delay_cycles(16);  
  SCL_H;   
  __delay_cycles(40);
  SCL_L;
  SDA_H;
  __delay_cycles(16);  
}
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-10-7 21:17
  • 签到天数: 103 天

    [LV.6]常住居民II

    49

    主题

    1万

    回帖

    7万

    积分

    三级逆天

    积分
    73138

    终身成就奖特殊贡献奖原创先锋奖社区居民忠实会员社区劳模最爱沙发社区明星原创达人优秀斑竹奖宣传大使奖

    QQ
    发表于 2020-9-3 05:51:42 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    99

    主题

    2522

    回帖

    0

    积分

    PADS-181217初级班

    积分
    0

    终身成就奖原创先锋奖

    QQ
    发表于 2020-9-3 07:22:12 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    6740

    回帖

    1280

    积分

    二级逆天

    积分
    1280

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2020-9-3 07:41:28 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    9

    主题

    338

    回帖

    472

    积分

    二级逆天

    积分
    472

    终身成就奖

    发表于 2020-9-3 08:02:19 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-29 20:33
  • 签到天数: 1 天

    [LV.1]初来乍到

    47

    主题

    6492

    回帖

    7755

    积分

    二级逆天

    积分
    7755

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-9-3 08:18:28 | 显示全部楼层
    回复

    使用道具 举报

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

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表