代码1:
#define MOSI_H GPIO_SetBits(GPIOB, GPIO_Pin_10)
#define MOSI_L GPIO_ResetBits(GPIOB, GPIO_Pin_10)
#define SCLK_H GPIO_SetBits(GPIOB, GPIO_Pin_13)
#define SCLK_L GPIO_ResetBits(GPIOB, GPIO_Pin_13)
#define MISO GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11)
unsigned char SPI_ReadSendByte(unsigned char dt)//接受一个字节
{
u8 i;
u8 temp=0;
for(i=8;i>0;i--)
{
if(dt&0x80)MOSI_H;
else MOSI_L;
dt<<=1;
SCLK_H;
__NOP();//空白指令,用于延时//一个_NOP为1/sysclock,默认sysclock=72M,即——NOP=1/72us
__NOP();
__NOP();
temp<<=1;
if(MISO)temp++;
__NOP();
__NOP();
__NOP();
SCLK_L;
}
return temp;
}
2、代码2:
#ifndef __DRIVER_SPI_H
#define __DRIVER_SPI_H
#include "sys.h"
/************************* SPI 硬件相关定义 *************************/
#define SPI_GPIOx