A

Dependencies:   mbed

Fork of SPI_Demo_Nano by RedBearLab

Committer:
Adembay
Date:
Mon Nov 14 14:23:03 2016 +0000
Revision:
3:b4887e2837ab
Parent:
0:5810870d2b29
M

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RedBearLab 0:5810870d2b29 1 #include "mbed.h"
RedBearLab 0:5810870d2b29 2 #include "spi_master.h"
Adembay 3:b4887e2837ab 3 //# SCK P0_25
Adembay 3:b4887e2837ab 4 //# MOSI P0_20
Adembay 3:b4887e2837ab 5 //# MISO P0_22
Adembay 3:b4887e2837ab 6 //# CS P0_7
RedBearLab 0:5810870d2b29 7 DigitalOut spi_cs(P0_7);
RedBearLab 0:5810870d2b29 8 SPIClass SPI1(NRF_SPI1);
RedBearLab 0:5810870d2b29 9 Serial pc(USBTX, USBRX);
RedBearLab 0:5810870d2b29 10
Adembay 3:b4887e2837ab 11 uint8_t i,izin=1;
Adembay 3:b4887e2837ab 12 uint8_t wt_buf[] = "DENEMEE";
Adembay 3:b4887e2837ab 13 uint8_t rd_buf[7];
Adembay 3:b4887e2837ab 14 uint32_t x=0;
Adembay 3:b4887e2837ab 15
Adembay 3:b4887e2837ab 16
Adembay 3:b4887e2837ab 17 uint8_t DATA_1[50]={0x07,0xdd,0xcc,0xee,0x15,0x23,0x56,0x11,0x33};
Adembay 3:b4887e2837ab 18
Adembay 3:b4887e2837ab 19
Adembay 3:b4887e2837ab 20 void WriteBytes(uint16_t addr, uint8_t *pbuf, uint16_t len)
RedBearLab 0:5810870d2b29 21 {
RedBearLab 0:5810870d2b29 22 uint16_t index;
RedBearLab 0:5810870d2b29 23 spi_cs = 0;
Adembay 3:b4887e2837ab 24 wait_us(20);
RedBearLab 0:5810870d2b29 25 for(index=0; index<len; index++)
RedBearLab 0:5810870d2b29 26 {
RedBearLab 0:5810870d2b29 27 SPI1.transfer(*pbuf);
RedBearLab 0:5810870d2b29 28 pbuf++;
RedBearLab 0:5810870d2b29 29 }
RedBearLab 0:5810870d2b29 30
Adembay 3:b4887e2837ab 31 wait_us(20);
RedBearLab 0:5810870d2b29 32 spi_cs = 1;
RedBearLab 0:5810870d2b29 33 }
RedBearLab 0:5810870d2b29 34
Adembay 3:b4887e2837ab 35 void ReadBytes(uint16_t addr, uint8_t *pbuf, uint16_t len)
RedBearLab 0:5810870d2b29 36 {
RedBearLab 0:5810870d2b29 37 uint16_t index;
RedBearLab 0:5810870d2b29 38
RedBearLab 0:5810870d2b29 39 spi_cs = 0;
Adembay 3:b4887e2837ab 40 wait_us(5);
RedBearLab 0:5810870d2b29 41 for(index=0; index<len; index++)
RedBearLab 0:5810870d2b29 42 {
RedBearLab 0:5810870d2b29 43 *pbuf = SPI1.transfer(0x00);
RedBearLab 0:5810870d2b29 44 pbuf++;
RedBearLab 0:5810870d2b29 45 }
RedBearLab 0:5810870d2b29 46 spi_cs = 1;
RedBearLab 0:5810870d2b29 47 }
RedBearLab 0:5810870d2b29 48
RedBearLab 0:5810870d2b29 49 int main(void)
RedBearLab 0:5810870d2b29 50 {
RedBearLab 0:5810870d2b29 51 pc.baud(9600);
Adembay 3:b4887e2837ab 52 SPI1.begin(); //SPI1.begin(P0_6, P0_15, P0_29);//SCK, MOSI, MOSI
Adembay 3:b4887e2837ab 53 pc.printf("SPI Demo Start\r\n");
RedBearLab 0:5810870d2b29 54 while(1)
RedBearLab 0:5810870d2b29 55 {
Adembay 3:b4887e2837ab 56
Adembay 3:b4887e2837ab 57 WriteBytes(0, DATA_1, sizeof(DATA_1));
Adembay 3:b4887e2837ab 58 for(i=0; i<sizeof(DATA_1); i++)
Adembay 3:b4887e2837ab 59 {
Adembay 3:b4887e2837ab 60 pc.printf("%02x",DATA_1[i]);
Adembay 3:b4887e2837ab 61 }
Adembay 3:b4887e2837ab 62 pc.printf(" %d \r\n",x);
Adembay 3:b4887e2837ab 63
Adembay 3:b4887e2837ab 64
RedBearLab 0:5810870d2b29 65 wait(1);
Adembay 3:b4887e2837ab 66
Adembay 3:b4887e2837ab 67
RedBearLab 0:5810870d2b29 68 }
Adembay 3:b4887e2837ab 69 }