DirectSPI test program

Dependencies:   DirectSPI mbed

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?

UserRevisionLine numberNew 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