mi mi
/
DirectSPI-test
DirectSPI test program
main.cpp@9:7dfa4f5adf42, 2017-02-26 (annotated)
- Committer:
- mimi3
- Date:
- Sun Feb 26 20:50:58 2017 +0900
- Revision:
- 9:7dfa4f5adf42
- Parent:
- 4:8173ee6ae31b
update: mbed-scli v0.5
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mimi3 | 0:b69918b5ba10 | 1 | #include "mbed.h" |
mimi3 | 1:54261d79eb98 | 2 | #include "DirectSPI.h" |
mimi3 | 3:b573ad5a8eb7 | 3 | |
mimi3 | 4:8173ee6ae31b | 4 | |
mimi3 | 1:54261d79eb98 | 5 | /* SPI1 */ |
mimi3 | 4:8173ee6ae31b | 6 | #define MOSI SPI_MOSI /* D11 PA_7 */ |
mimi3 | 4:8173ee6ae31b | 7 | #define MISO SPI_MISO /* D12 PA_6 */ |
mimi3 | 4:8173ee6ae31b | 8 | #define SCLK SPI_SCK /* D13 PA_5 */ |
mimi3 | 4:8173ee6ae31b | 9 | #define CS SPI_CS /* D10 PB_6 */ |
mimi3 | 3:b573ad5a8eb7 | 10 | |
mimi3 | 1:54261d79eb98 | 11 | DirectSPI spi(MOSI, MISO, SCLK); // mosi, miso, sclk |
mimi3 | 1:54261d79eb98 | 12 | DigitalOut cs(CS); |
mimi3 | 1:54261d79eb98 | 13 | |
mimi3 | 3:b573ad5a8eb7 | 14 | /* auto width transfer test */ |
mimi3 | 3:b573ad5a8eb7 | 15 | void test_auto() { |
mimi3 | 1:54261d79eb98 | 16 | spi.format(8,3); |
mimi3 | 1:54261d79eb98 | 17 | while(1){ |
mimi3 | 1:54261d79eb98 | 18 | cs = 1; |
mimi3 | 3:b573ad5a8eb7 | 19 | spi.directWrite(0xaa); |
mimi3 | 3:b573ad5a8eb7 | 20 | spi.directWrite(0xaa); |
mimi3 | 3:b573ad5a8eb7 | 21 | cs = 0; |
mimi3 | 3:b573ad5a8eb7 | 22 | } |
mimi3 | 3:b573ad5a8eb7 | 23 | } |
mimi3 | 3:b573ad5a8eb7 | 24 | |
mimi3 | 3:b573ad5a8eb7 | 25 | /* 8bit width transfer test */ |
mimi3 | 3:b573ad5a8eb7 | 26 | void test_bit8() { |
mimi3 | 3:b573ad5a8eb7 | 27 | spi.format(8,3); |
mimi3 | 3:b573ad5a8eb7 | 28 | while(1){ |
mimi3 | 3:b573ad5a8eb7 | 29 | cs = 1; |
mimi3 | 1:54261d79eb98 | 30 | spi.directWrite8(0xaa); |
mimi3 | 1:54261d79eb98 | 31 | spi.directWrite8(0xaa); |
mimi3 | 1:54261d79eb98 | 32 | cs = 0; |
mimi3 | 0:b69918b5ba10 | 33 | } |
mimi3 | 2:688a56c37441 | 34 | } |
mimi3 | 3:b573ad5a8eb7 | 35 | |
mimi3 | 3:b573ad5a8eb7 | 36 | /* 16bit width transfer test */ |
mimi3 | 3:b573ad5a8eb7 | 37 | void test_bit16() { |
mimi3 | 3:b573ad5a8eb7 | 38 | spi.format(16,3); |
mimi3 | 3:b573ad5a8eb7 | 39 | while(1){ |
mimi3 | 3:b573ad5a8eb7 | 40 | cs = 1; |
mimi3 | 3:b573ad5a8eb7 | 41 | spi.directWrite16(0x5503); |
mimi3 | 3:b573ad5a8eb7 | 42 | spi.directWrite16(0x5503); |
mimi3 | 3:b573ad5a8eb7 | 43 | cs = 0; |
mimi3 | 3:b573ad5a8eb7 | 44 | } |
mimi3 | 3:b573ad5a8eb7 | 45 | } |
mimi3 | 3:b573ad5a8eb7 | 46 | |
mimi3 | 3:b573ad5a8eb7 | 47 | /* 8bit width transfer test using standard library*/ |
mimi3 | 3:b573ad5a8eb7 | 48 | void test_std8() { |
mimi3 | 3:b573ad5a8eb7 | 49 | spi.format(8,3); |
mimi3 | 3:b573ad5a8eb7 | 50 | while(1){ |
mimi3 | 3:b573ad5a8eb7 | 51 | cs = 1; |
mimi3 | 3:b573ad5a8eb7 | 52 | spi.write(0xaa); |
mimi3 | 3:b573ad5a8eb7 | 53 | spi.write(0xaa); |
mimi3 | 3:b573ad5a8eb7 | 54 | cs = 0; |
mimi3 | 3:b573ad5a8eb7 | 55 | } |
mimi3 | 3:b573ad5a8eb7 | 56 | } |
mimi3 | 3:b573ad5a8eb7 | 57 | |
mimi3 | 3:b573ad5a8eb7 | 58 | int main(){ |
mimi3 | 3:b573ad5a8eb7 | 59 | spi.frequency(24 * 1000000); |
mimi3 | 3:b573ad5a8eb7 | 60 | |
mimi3 | 3:b573ad5a8eb7 | 61 | /* Select the one of the test function */ |
mimi3 | 3:b573ad5a8eb7 | 62 | //test_auto(); |
mimi3 | 3:b573ad5a8eb7 | 63 | test_bit8(); |
mimi3 | 3:b573ad5a8eb7 | 64 | //test_bit16(); |
mimi3 | 3:b573ad5a8eb7 | 65 | //test_std8(); |
mimi3 | 3:b573ad5a8eb7 | 66 | } |
mimi3 | 3:b573ad5a8eb7 | 67 | |
mimi3 | 3:b573ad5a8eb7 | 68 |