Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

用MSP430G2553的硬件IIC调试ADS1115一直调不出来

$
0
0

问题:当IIC发送起始信号后始终无法接收到ADS1115的ACK.。ADS1115的地址是0x48。附上只与发送数据相关的代码代码

void I2C_Init()
{

    //--------开启引脚复用功能,BIT6->SCL   BIT7->SDA-------//
    P1SEL |= BIT6+BIT7;
    P1SEL2 |= BIT6+BIT7;
    //--------软件复位状态-----------//
     UCB0CTL1 |= UCSWRST;
     //--------同步通信I2C主机状态-------//
     UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC;
     //-------使用SMCLK,软件复位--------//
     UCB0CTL1 = UCSSEL_2 + UCSWRST;
     //-------分频系数-------//
     UCB0BR0 = 11;
     //-------一级别分频一般不启用--------//
     UCB0BR1 = 0;
     //------从机地址,可在宏定义中修改-------//
     UCB0I2CSA = Slave_Addr;
     //------开启I2C-------//
     UCB0CTL1 &=~ UCSWRST;
     _enable_interrupts();

}

void I2C_Tx_Init()
{

    UCB0CTL1 |= UCTR;

    IFG2 &=~ UCB0TXIFG;

    IE2 &=~ UCB0RXIE;

    IE2 |= UCB0TXIE;


}

void I2C_TxFrame(unsigned char num,unsigned char *p_Tx)
{
    while(UCB0STAT & UCBBUSY);
    TxByteCnt = num;
    pTxData = (unsigned char *)p_Tx;
    I2C_Tx_Init();
    UCB0CTL1 |= UCTXSTT;
    __bis_SR_register(CPUOFF + GIE);
    while (UCB0CTL1 & UCTXSTP);

}

**********************************************/
void I2C_TxFrame_ISR()
{
    //---------------判断数据剩余个数-------//
    if(TxByteCnt)
    {
        //--------数据填充-------//
        UCB0TXBUF = *pTxData;
        //--------指针位移-------//
        pTxData++;
        //--------数据个数减一-------//
        TxByteCnt--;
    }
    else
    {
        //--------数据个数为0,发送停止位------//
        UCB0CTL1 |= UCTXSTP;
        //-------没有把数据写入buffer,不能清除中断,需要手动清除中断----------//
        IFG2 &=~ UCB0TXIFG;

    }
}

#pragma vector=USCIAB0TX_VECTOR
__interrupt void USCI0TX_ISR_HOOK(void)
{
    //-------UCA0和UCB0共用一个中断向量,进入中断前判断哪个触发了中断

    if(IFG2 & UCA0TXIFG)
    {
    IFG2 &=~ UCA0TXIFG;
    //---------调用事件处理函数-------

    }
    if(IFG2 & UCB0TXIFG)
        {
        //---------调用事件处理函数-------
         I2C_TxFrame_ISR();

        }

}


Viewing all articles
Browse latest Browse all 3634

Trending Articles