初级会员

- 积分
- 118
- 金钱
- 118
- 注册时间
- 2013-9-20
- 在线时间
- 6 小时
|

楼主 |
发表于 2013-10-28 21:00:52
|
显示全部楼层
回复【2楼】正点原子:
你没看到他还调用了另外一个函数么? ReadWrite429,这个函数.
---------------------------------
u8 ReadWriteSPI(u8 DeviceNumber, u8 TXData, u8 LastTransfer)
{
u8 Result;
switch(DeviceNumber) //选择设备号
{
case SPI_DEV_TMC429: //选择控制卡设备
GPIOA->BRR=BIT6; // 清零寄存器 片选置低
break;
case SPI_DEV_TMC260: //选择驱动器设备
GPIOA->BRR=BIT7; //片选
break;
default:
break;
}
switch(DeviceNumber)
{
case SPI_DEV_TMC429:
case SPI_DEV_TMC260:
while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET); //检查指定的SPI标志位设置与否:发送缓存空标志位
SPI_I2S_SendData(SPI2,TXData); //通过外设SPIx发送一个数据
while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET); //检查指定的SPI标志位设置与否:接受缓存非空标志位
Result=SPI_I2S_ReceiveData(SPI2); //返回通过SPIx最近接收的数据
break;
default:
Result=0;
break;
}
if(LastTransfer)
{
GPIOA->BSRR=BIT6|BIT7; //FALSE: device will be kept selected (for sending more bytes) \n //TRUE: the device will be deselected(取消选定) after the transfer \n
}
return Result; //返回读取到的数据
}
这个是ReadWrite429里面的内容,我是按照他的M0的片子改的,读到的内容都是0XFF,所以我就产生了那个疑问 |
|