就只是需要能够写MOSI以及读MISO引脚的数值的函数。上升沿发送数据,下降沿接收数据。
自己编的这个函数有问题,但是理论看是这样写的。高手教教我吧!
#define MISO GPIOA->IDR & BIT(14)
#define BIT(n) (1<
unsigned char SPI_ReadWriteByte( uchar wdata )
{
uchar i;
uchar a;
uchar Data_out = 0;
CLK_L;
for( i = 0 ; i < 8 ; i++ )
{
if(wdata & BIT(7-i))
MOSI_H;
else
MOSI_L;
CLK_H;
if(MISO)
Data_out |= BIT(7-i);
CLK_L;
}
CLK_L;
return Data_out;
}
2020-5-21 14:07:42
楼主的这种编程思路很不错啊,比我以前用的移位操作的简单多了,学习一下,呵呵
楼主的这种编程思路很不错啊,比我以前用的移位操作的简单多了,学习一下,呵呵
举报