msp430硬件i2c驱动

static void hdc_i2c_init(void)
{
  P3SEL |= (BIT0 | BIT1); 
  UCB0CTL1 |= UCSWRST;
  UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC ;
  UCB0CTL1 |= UCSSEL_2;
  UCB0BR0 = 40;
  UCB0BR1 = 0;
  UCB0CTL0 &= ~UCSLA10;
  UCB0I2CSA = (HDC2010_ADDR>>1);  //因为msp430硬件不需要在地址里体现读写位,只需7位地址即可
  UCB0CTL1 &= ~UCSWRST;
}

void hdc2010_Init()
{
  hdc_i2c_init();
  
  /* Startup sequence */
//  i2c_send(ADDR_WR, ConfigReg, 2);
//  i2c_send(ADDR_WR, MeaConfigReg, 2);
}

void hdc_SingleAcquisition(U8 *recvBuf)
{
  //Start Conversion
  i2c_send(ADDR_WR, StartConvert, 2);
  

  
  i2c_send(ADDR_WR, ReadAddr, 1);
  i2c_receive(ADDR_RD, recvBuf, 4);  //TLOW, THIGH, HLOW, HHIGH
//  i2c_send_and_recv(ADDR_RD, &ReadAddr, 1, recvBuf, 4);
}

U8 hdc_readByte(U8 start_addr,U8 *pword_value)
{
  UCB0CTL1 |= UCTR;                 // 写模式
  UCB0CTL1 |= UCTXSTT;              // 发送启动位和写控制字节
  UCB0TXBUF = start_ad
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值