我仿照论坛上51单片机接MAX6675的程序,在MSP430F149上面写,但为什么一直都输出0?而且硬件单步仿真看芯片数据口SO一直都是0,没有变化
难道MSP430驱动MAX6675和用51单片机驱动不一样?
附上程序:
#define CS_SET P5OUT|=BIT5
#define CS_CLR P5OUT&=~BIT5
#define SCK_SET P5OUT|=BIT4
#define SCK_CLR P5OUT&=~BIT4
#define SO P5IN&BIT6
void wendu_init()
{
P5SEL=0X00;
P5DIR|=BIT5 + BIT4;
P5DIR&=~BIT6;
}
void Re_Convert() //热电偶数据读取,返回温度
{
uchar i;
// CS_SET;
CS_CLR;
_NOP();
_NOP();
CS_CLR;
SCK_CLR;
for(i=0;i<16;i++)//16位数据读取
{ Temp_2<<=1;//向左移一位
_NOP();
SCK_SET;//上升
_NOP();
SCK_CLR;
if(SO==1)
{
Temp_2|=0x01;
}
else
{
Temp_2|=0x00;
}
_NOP();
}
CS_SET;
_NOP();
_NOP();
delay_ms(500);
}
------解决方案--------------------
MSP430我印象中是3.3的电平,不知道这个电平能不能让对应的芯片认可?