在淘包提供的手册中存在bug,图中mosi与miso,按理应与单片机的miso与mosi相连接,但是手册给人误解,在这连接必须与mosi与mosi,miso与miso相连,这一错误我调试了半天,还希望提供手册的人细心一点。
下面给出stm8 硬件spi初始化nrf24l01的spi代码:
#include "myspi.h"
void initSpi(void){
SPI_DeInit();
GPIO_Init(GPIOC, GPIO_PIN_7, GPIO_MODE_IN_PU_NO_IT);
GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(GPIOC,GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_FAST);
SPI_Init(SPI_FIRSTBIT_MSB,
SPI_BAUDRATEPRESCALER_2,
SPI_MODE_MASTER, SPI_CLOCKPOLARITY_LOW,
SPI_CLOCKPHASE_1EDGE,
SPI_DATADIRECTION_2LINES_FULLDUPLEX,
SPI_NSS_SOFT,7);
SPI_Cmd(ENABLE);
}
/**
*/
u8 SPI_RW(u8 byte){
while(SPI_GetFlagStatus(SPI_FLAG_TXE)==RESET);
SPI_SendData(byte);
while(SPI_GetFlagStatus(SPI_FLAG_RXNE)==RESET);
byte=SPI_ReceiveData();
return byte;
}