模拟SPI通讯

2019-07-21 18:26发布

msp430f2132  求高手看哪错了?
#define UZ2400_MOSI_bit     BIT1
#define UZ2400_SPI_CLK_bit  BIT3
void WriteSPIData(unsigned char data)
{
    unsigned char i;
    for(i=0;i<8;i++)
    {
        if(data&0x80)
        {
            P3OUT|=UZ2400_MOSI_bit;
        }
        else
        {
            P3OUT&=~UZ2400_MOSI_bit;
        }
        P3OUT|=UZ2400_SPI_CLK_bit;
        data<<=1;
        P3OUT&=~UZ2400_SPI_CLK_bit;
    }
}
void WriteSPIDatal(unsigned int data)
{
    unsigned char i;
    for(i=0;i<8;i++)
    {
        if(data&0x80)
        {
            P3OUT|=UZ2400_MOSI_bit;
        }
        else
        {
            P3OUT&=~UZ2400_MOSI_bit;
        }
        P3OUT|=UZ2400_SPI_CLK_bit;
        data<<=1;
        P3OUT&=~UZ2400_SPI_CLK_bit;
    }
}
unsigned char ReadSPIData()
{
unsigned char data,i;
for(i=0;i<8;i++)
{
  data<<=1;
  P3OUT|=UZ2400_SPI_CLK_bit;
  if(0x04 & P3IN)data|=0x01;
  P3OUT&=~UZ2400_SPI_CLK_bit;
}
return data;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
dengdc
1楼-- · 2019-07-22 10:11
 精彩回答 2  元偷偷看……
jiahy
2楼-- · 2019-07-22 12:48
模拟SPI总线的作用是非常大的,跟外接设备通讯也是非常方便的
lizye
3楼-- · 2019-07-22 15:11
速度太快了!
spi是有读写速度限制的。
yszong
4楼-- · 2019-07-22 18:37
非常感谢大家的帮助 问题已经解决了 确实是太快了 我把主频从8M变成1M以后就好了 我做的这个项目是MSP430F2132与UZ2400通讯

一周热门 更多>