msp430硬件i2c驱动

本文详细介绍了Msp430微控制器的硬件I2C驱动实现,包括配置、初始化步骤、数据传输过程及常见问题解决,旨在帮助开发者更好地理解和应用Msp430的I2C通信。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值