资深版主
- 积分
- 12010
- 金钱
- 12010
- 注册时间
- 2013-9-10
- 在线时间
- 427 小时
|
发表于 2015-4-25 13:00:00
|
显示全部楼层
用其他平台的代码移植过去即可,楼主可以参考一下下面的代码,我在STM32上面用的
/**********************************************************
* 函数功能 ---> 模拟SPI发送数据函数
* 入口参数 ---> send_data: 要发送的数据
* 返回参数 ---> 接收到的数据
* 功能说明 ---> 优先发送MSB,需要先发送LSB的请修改此函数
**********************************************************/
u8 Soft_SPI_ReadWrite_Byte(u8 send_data)
{
u8 i;
// Soft_SPI_MISO_IN(); //设置MISO为输入模式
for(i = 0;i < 8;i++)
{
if(send_data & 0x80) Soft_SPI_MOSI = 1; //放上数据,优先发送LSB请修改为0x01
else Soft_SPI_MOSI = 0;
send_data <<= 1; //优先发送LSB请改为右移
Soft_SPI_CLK = 0;
Soft_SPI_CLK = 1; //上升沿发送数据
// Soft_SPI_CLK = 0; //下降沿从设备输出数据请加上此句
if(Soft_SPI_MISO) send_data |= 0x01; //返回来的是"1",返回LSB时请修改为0x80
}
Soft_SPI_CLK = 0;
return send_data; //返回接收到的数据
} |
|