File tree Expand file tree Collapse file tree 2 files changed +26
-11
lines changed Expand file tree Collapse file tree 2 files changed +26
-11
lines changed Original file line number Diff line number Diff line change @@ -54,7 +54,7 @@ void SPIClass::begin() {
54
54
pinMode (MISO, SPECIAL); // /< GPIO12
55
55
pinMode (MOSI, SPECIAL); // /< GPIO13
56
56
57
- GPMUX = 0x105 ; // note crash if spi flash Frequency < 40MHz
57
+ GPMUX = 0x105 ; // note crash if SPI flash Frequency < 40MHz
58
58
SPI1C = 0 ;
59
59
setFrequency (1000000 ); // /< 1Mhz
60
60
SPI1U = SPIUMOSI | SPIUDUPLEX | SPIUSSE;
@@ -78,7 +78,27 @@ void SPIClass::endTransaction() {
78
78
}
79
79
80
80
void SPIClass::setDataMode (uint8_t dataMode) {
81
- // todo find way to set
81
+
82
+ /* *
83
+ SPI_MODE0 0x00 - CPOL: 0 CPHA: 0
84
+ SPI_MODE1 0x01 - CPOL: 0 CPHA: 1
85
+ SPI_MODE2 0x10 - CPOL: 1 CPHA: 0
86
+ SPI_MODE3 0x11 - CPOL: 1 CPHA: 1
87
+ */
88
+
89
+ bool CPOL = (dataMode&0x10 ); // /< CPOL (Clock Polarity)
90
+ bool CPHA = (dataMode&0x01 ); // /< CPHA (Clock Phase)
91
+
92
+ if (CPHA) {
93
+ SPI1U |= (SPIUSME);
94
+ } else {
95
+ SPI1U &= ~(SPIUSME);
96
+ }
97
+
98
+ if (CPOL) {
99
+ // todo How set CPOL???
100
+ }
101
+
82
102
}
83
103
84
104
void SPIClass::setBitOrder (uint8_t bitOrder) {
Original file line number Diff line number Diff line change 24
24
#include < Arduino.h>
25
25
#include < stdlib.h>
26
26
27
- #define FCPU80 80000000L
28
-
29
-
30
-
31
-
32
- const uint8_t SPI_MODE0 = 0x00 ;
33
- const uint8_t SPI_MODE1 = 0x04 ;
34
- const uint8_t SPI_MODE2 = 0x08 ;
35
- const uint8_t SPI_MODE3 = 0x0C ;
27
+ const uint8_t SPI_MODE0 = 0x00 ; // /< CPOL: 0 CPHA: 0
28
+ const uint8_t SPI_MODE1 = 0x01 ; // /< CPOL: 0 CPHA: 1
29
+ const uint8_t SPI_MODE2 = 0x10 ; // /< CPOL: 1 CPHA: 0
30
+ const uint8_t SPI_MODE3 = 0x11 ; // /< CPOL: 1 CPHA: 1
36
31
37
32
class SPISettings {
38
33
public:
You can’t perform that action at this time.
0 commit comments