STM32模拟SPI接口

做单片机开发的时候经常需要用到模拟spi接口,这种写法不错的,网上很多类似的,我也拿来主义了。

#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_SendByte(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();
		__nop();
		temp<<=1;
		if(MISO)temp++;
		__nop();
		__nop();
		__nop();
		SCLK_L;
	}
	return temp;
}



你可能感兴趣的:(stm32笔记)