模拟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条回答
shimx
1楼-- · 2019-07-21 20:27
片选端呢?
jiaxw
2楼-- · 2019-07-21 20:52
 精彩回答 2  元偷偷看……
午夜粪车
3楼-- · 2019-07-21 23:10
ps:你这什么都不说,换别人看都懒得看你的程序
zhaoxqi
4楼-- · 2019-07-22 00:26

楼上说的是正理。
一般SPI和IIC等通讯,重点要关注时序
jiajs
5楼-- · 2019-07-22 03:00
建议楼主用示波器或者逻辑分析仪看看时序
jlyuan
6楼-- · 2019-07-22 05:42
也没有看明白楼主要说明什么意思呢
你是程序编译不过去呢?还是?

一周热门 更多>