working on implementing spiCH

pull/2/head
polymurph 3 years ago
parent 3ebf3744f3
commit ed491a7aaf

@ -24,6 +24,15 @@ typedef struct{
spiCH_t spi; /*!< spi hardware channel number */
}spi_ch_t;
/**
* \brief Set up SPI channel
* Set up a SPI channel by passig a hardware SPI channel and a chipselect pin.
* \param *ch pointer to SPI channel
* \param spi_hw_ch SPI hardware channel
* \param chipslectPin designated pin for chipslect
*/
void spiCH_setupCH(spi_ch_t *ch, spiCH_t spi_hw_ch, pinNo_t chipselectPin);
/**
* \brief Read register
* Read one byte from a one register with one byte address.

@ -2,6 +2,11 @@
// generic implementation of spi channel class
void spiCH_setupCH(spi_ch_t *ch, spiCH_t spi_hw_ch, pinNo_t chipslectPin)
{
ch->pin = chipselectPin;
ch->spi = spi_hw_ch;
}
uint8_t spiCH_readReg(spi_ch_t *spi_ch,
uint8_t reg_address) {

@ -10,9 +10,10 @@
int main(int argc, char *argv[])
{
uint8_t i = 0;
spi_ch_t spi_test_channel;
// making array with all available timers
delayInitMs(8000000, 1000); // Clock Freq and Divider for ARM library
@ -41,7 +42,10 @@ int main(int argc, char *argv[])
pinToggle(pinB3);
delayMs(100);
}
spiCH_setupCH(spi_test_channel, SPI_CH_1, pinA4);
pinWrite(pinB3,0);
pinInit(pinA5);
@ -52,7 +56,7 @@ int main(int argc, char *argv[])
pinConfig(pinA6, alternate, pushPull, none, veryFast);
pinConfig(pinA7, alternate, pushPull, none, veryFast);
//pinConfig(pinA6, alternate, floating, pullDown, veryFast);
pinConfig(pinA4, output, pushPulkl, none, veryFast);
@ -61,7 +65,9 @@ int main(int argc, char *argv[])
pinSetAlternate(pinA7, 0); // SPI1_MOSI
spi_init(SPI_CH_1);
spiCH_setupCH(spi_test_channel, SPI_CH_1, pinA4);
for(i = 0 ; i < 20 ; i++) {
delayMs(50);
pinToggle(pinB3);

Loading…
Cancel
Save