diff options
Diffstat (limited to 'firmware/drivers/spi.c')
-rw-r--r-- | firmware/drivers/spi.c | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/firmware/drivers/spi.c b/firmware/drivers/spi.c index 6209a03..fcbb6cc 100644 --- a/firmware/drivers/spi.c +++ b/firmware/drivers/spi.c @@ -28,6 +28,7 @@ #include <LPC17xx.h> +#if 0 #define USE_CMSIS @@ -100,7 +101,7 @@ void spi_init() spi_cfg.DataOrder = SPI_DATA_MSB_FIRST; // Se WM8523 manual page 14. Min clock pulse width 40ns ~= 25MHz - spi_cfg.ClockRate = 1000;//1000000000; // 1MHz + spi_cfg.ClockRate = 10000;//1000000000; // 1MHz spi = LPC_SPI; SPI_Init(spi, &spi_cfg); @@ -118,10 +119,10 @@ void spi_init() LPC_SC->PCLKSEL0 |= ((clk & 0x3) << PCLK_SPI_BIT); // set bit 16 and 17 in PCLKSEL0 // Make pin selection for SPI. - // SCK0: P1.20 - // SSEL0: P1.21 - // MOSI0: P1.23 - // MISO0: P1.24 + // SCK0: P0.15 + // SSEL0: P0.16 + // MOSI0: P0.17 + // MISO0: P0.18 LPC_PINCON->PINSEL0 &= ~(0x3 << SCK0_BIT); LPC_PINCON->PINSEL0 |= (SCK0_FUNCTION << SCK0_BIT); @@ -143,7 +144,7 @@ void spi_init() #endif/*USE_CMSIS*/ // Configure SSEL pin: - LPC_GPIO1->FIODIR |= 1 << 21; // Set 1.21 in output mode + LPC_GPIO0->FIODIR |= 1 << 16; // Set P0.16 in output mode } @@ -203,29 +204,29 @@ void spi_read_write(uint8_t *tx_data, uint8_t *rx_data, size_t length) dst.callback = spi_mark_as_done; SPI_ClearIntPending(spi); - LPC_GPIO1->FIOPIN &= ~( 1 << 21 ); // make P1.21 low + LPC_GPIO0->FIOPIN &= ~( 1 << 16 ); // make P0.16 low spi_done = 0; SPI_ReadWrite(spi, &dst, SPI_TRANSFER_POLLING);//SPI_TRANSFER_INTERRUPT); - cli_write(">"); + // cli_write(">"); while (!(SPI_GetStatus(spi) & SPI_SPSR_SPIF)) { } //while(!spi_done) {} - cli_write("<"); + //cli_write("<"); - LPC_GPIO1->FIOPIN |= 1 << 21; // make P1.29 high + LPC_GPIO0->FIOPIN |= 1 << 16; // make P0.16 high #else/*USE_CMSIS*/ int i = 0; - cli_write(">>"); + // cli_write(">>"); - LPC_GPIO1->FIOPIN &= ~( 1 << 21 ); // make P1.21 low + LPC_GPIO0->FIOPIN &= ~( 1 << 16 ); // make P0.16 low for(; i < length; i++) { /* cli_write("w"); - LPC_GPIO1->FIOPIN &= ~( 1 << 21 ); // make P1.21 low + LPC_GPIO0->FIOPIN &= ~( 1 << 16 ); // make P0.16 low __delay(1 << 23); */ @@ -252,13 +253,15 @@ void spi_read_write(uint8_t *tx_data, uint8_t *rx_data, size_t length) /* cli_write("r"); - LPC_GPIO1->FIOPIN |= 1 << 21; // make P1.29 high + LPC_GPIO0->FIOPIN |= 1 << 16; // make P0.16 high __delay(1 << 23); */ } - LPC_GPIO1->FIOPIN |= 1 << 21; // make P1.29 high + LPC_GPIO0->FIOPIN |= 1 << 16; // make P0.16 high - cli_write("<<"); + //cli_write("<<"); #endif/*USE_CMSIS*/ } + +#endif/*0*/ |