Enable variant to set board default SPI

This commit is contained in:
Daniel Fekete 2017-04-14 07:32:31 +02:00
parent 6062b62976
commit 2d313e126b
3 changed files with 20 additions and 1 deletions

View File

@ -1,6 +1,13 @@
#include "SPI.h"
SPIClass SPI(SPI1);
#include "variant.h"
#if defined(MOSI) || defined(MISO) || defined(SCK)
SPIClass SPI(SPI1, MOSI, MISO, SCK);
#else
SPIClass SPI(SPI1);
#endif
void SPIClass::begin() {
apb_freq = stm32_apb_clock_freq((void*)spiHandle.Instance);

View File

@ -56,6 +56,13 @@ class SPIClass {
SPIClass(SPI_TypeDef *instance) {
spiHandle.Instance = instance;
};
SPIClass(SPI_TypeDef *instance, uint8_t mosi, uint8_t miso, uint8_t sck) {
spiHandle.Instance = instance;
stm32_set_mosi(mosi);
stm32_set_miso(miso);
stm32_set_sck(sck);
};
void stm32_set_mosi(uint8_t mosi);
void stm32_set_miso(uint8_t miso);

View File

@ -1,6 +1,11 @@
#ifndef VARIANT_H
#define VARIANT_H
// SPI board defaults
#define MOSI PA7
#define MISO PA6
#define SCK PA5
enum {
PA0 ,
PA1 ,