高级会员
- 积分
- 592
- 威望
- 417
- 贡献
- 111
- 兑换币
- 0
- 注册时间
- 2011-2-24
- 在线时间
- 32 小时
|
急求帮助!!!谁能告诉我这程序哪错啦???谢谢,谢谢!!!使用的是MC9S12X128单片机
SPI发送:
uchar txdat[1]={0x55};
/**********************SPI初始化************************/
void TXSpiInit(void)
{
SPI0CR1 = 0x50; //SP使能,主机方式,上升沿采样下降沿结束,先传高位MSB,时钟相位=0
SPI0CR2 = 0x00; //ss端不做输出使能
SPI0BR = 0x20; //12/6=2M SPI波特率
}
/**********************发射端数据*************************/
void SpiTx(uchar dat)
{
uchar temp;
temp=SPI0SR; //清除状态标志位
SPI0DR = dat;
while(!(SPI0SR&0x20));
}
SPI接收:
char rxdat[1]={0};
/**********************SPI初始化************************/
void RXSpiInit(void)
{
SPI0CR1 = 0x40; //SP使能,从机方式,上升沿采样下降沿结束,先传高位MSB,时钟相位=0
SPI0CR2 = 0x00; //ss端不做输出使能
SPI0BR = 0x20; //12/6=2M SPI波特率
}
/**********************发射端数据*************************/
char SpiRx(void)
{
while(!(SPI0SR&0x80));
return(SPI0DR);
}
void readdat(void)
{
rxdat[0]=SpiRx();
} |
|