|
msp430F149+PT2313怎么没有声音啊?
[复制链接]
如题!!都说PT2313很简单,我都是按照PDF说明写程序的,怎么一点声音都没有呢!跪求各位大侠的...程序如下:我用的是MSP430F149做MCU_______
void delay()
{
unsigned char q0;
for(q0=0;q0<5;q0++)
{
_NOP();
}
}
/**********************************************************************
启动IIC 总线
***********************************************************************/
void start() //开始信号
{
SDA_OUT; //设置为输出
SCL_OUT; //设置为输出
S_SDA; // SDA=1
delay();
S_SCL; //SCL=1
delay();
C_SDA; // SDA=0
delay();
C_SCL; //SCL=0
delay();
}
/**********************************************************************
停止操作,释放IIC 总线
**********************************************************************/
void stop() //停止
{
SDA_OUT; //设置为输出
SCL_OUT; //设置为输出
C_SDA; // SDA=0
delay();
S_SCL; //SCL=1
delay();
S_SDA; // SDA=1
delay();
C_SCL;//SCL=0
}
/***************************************************************************
** Function name: I2C_Write
** Descriptions: I2C写数据并判断有无响应
** input parameters: empData
** Output parameters: none
** Returned value: 如果没有应答那么返回0,否则返回1
***************************************************************************/
unsigned char I2C_Write(unsigned char TempData)
{
unsigned char Count;
SDA_OUT;
for ( Count = 8; Count > 0; Count -- )
{
C_SCL;
delay();
if(( TempData & 0x80 ) == 0x80)
{
S_SDA;
}
else
{
C_SDA;
}
TempData <<= 1;
delay();
S_SCL;
delay();
delay();
}
C_SCL;
delay();
S_SDA; //8位发送完后释放数据线,准备接收应答位
delay();
SDA_IN;
for ( Count = 0xff; Count; Count -- )
{
if ( ! READ_SDA )
{
break;
}
}
if ( !READ_SDA ) //判断是否接收到应答信号
{
S_SCL;
delay();
C_SCL;
}
else //如果没有应答那么返回0
{
return 0;
}
return 1;
}
初次接触PT2313,求到底我哪里错了啊........郁闷几天了
|
|