概述:
在使用STM8L101F3单片机,SPI通信读取三轴传感器ADXL362数据时,出现了一系列的问题,在这里做个笔记,也希望可以给大家一个小的参考。
问题一:
在SPI初始化过程中,没有初始化MISO,MOSI,SCLK三个引脚,导致在通信过程中写数据读数据出现问题。所以在这里贴出测试后可以正常运行的SPI初始化代码。(STM8L101F3,使用官方标准库)
#include "stm8l10x.h"
#include "stm8l10x_spi.h"
#include "stm8l10x_gpio.h"
/***************************SPI相关定义**************************/
#define SPI_GPIO_PORT GPIOB
#define SPI_CS_PIN GPIO_Pin_4
#define SPI_SCLK_PIN GPIO_Pin_5
#define SPI_MOSI_PIN GPIO_Pin_6
#define SPI_MISO_PIN GPIO_Pin_7
/*以下设置为符合我三轴传感器对应配置*/
#define SPI_FIRSTBIT_TYPE SPI_FirstBit_MSB
#define SPI_SPEED_PRESC SPI_BaudRatePrescaler_4
#define SPI_MODE SPI_Mode_Master
#define SPI_CPOL SPI_CPOL_Low
#define SPI_CPHA SPI_CPHA_1Edge
#define SPI_DATA_MODE SPI_Direction_2Lines_FullDupl