implemented auto pinsetup in spiInitMaster

spi
polymurph 3 years ago
parent 984f8c8677
commit c56587c873

@ -88,7 +88,13 @@ void spiInitMaster(
spi_phase_t phase,
spi_framef_t frameFormat,
spi_comMode_t comMode,
uint32_t prescaler);
uint32_t prescaler,
pinNo_t clkPin,
uint16_t altFuncClkPin,
pinNo_t MOSIPin,
uint16_t altFuncMOSIPin,
pinNo_t MISOPin,
uint16_t altFuncMISOPin);
/**

@ -2,13 +2,29 @@
// generic implementation of spi channel class
void spiInitMaster(spiCH_t spi_hw_ch,
spi_clkPol_t clockPolarity,
spi_phase_t phase,
spi_framef_t frameFormat,
spi_comMode_t comMode,
uint32_t prescaler)
void spiInitMaster(
spiCH_t spi_hw_ch,
spi_clkPol_t clockPolarity,
spi_phase_t phase,
spi_framef_t frameFormat,
spi_comMode_t comMode,
uint32_t prescaler,
pinNo_t clkPin,
uint16_t altFuncClkPin,
pinNo_t MOSIPin,
uint16_t altFuncMOSIPin,
pinNo_t MISOPin,
uint16_t altFuncMISOPin)
{
pinInit(clkPin);
pinInit(MOSIPin);
pinInit(MISOPin);
pinConfig(clkPin, alternate, pushPull, output, veryFast);
pinConfig(MISOPin, alternate, floating, input , veryFast);
pinConfig(MOSIPin, alternate, pushPull, output, veryFast);
pinSetAlternate(clkPin, altFuncClkPin);
pinSetAlternate(MOSIPin, altFuncMOSIPin);
pinSetAlternate(MISOPin, altFuncMISOPin);
// TODO: step by step implementation
spiEnableBus(spi_hw_ch);

@ -135,7 +135,7 @@ typedef struct{
void max7219_dm_write(
max7219_dm_t *matrix,
uint8_t data[][])
uint8_t **data)
{
uint8_t i = 0;
uint8_t j = 0;
@ -223,14 +223,14 @@ int main(int argc, char *argv[])
0xFF};
uint8_t matrix_1[] = {
0xFF,
0xAA,
0xFF,
0xAA,
0xFF,
0xAA,
0xFF,
0xAA};
0x11,
0x11,
0x11,
0x11,
0x11,
0x11,
0x11,
0x11};
spi_ch_t spi_test_channel;
max7219_t ledMatrix;
@ -263,30 +263,25 @@ int main(int argc, char *argv[])
}
pinWrite(pinB3,0);
pinInit(pinA5);
pinInit(pinA6);
pinInit(pinA7);
pinInit(pinA3);
pinConfig(pinA5, alternate, pushPull, output, veryFast);
pinConfig(pinA6, alternate, floating, input , veryFast);
pinConfig(pinA7, alternate, pushPull, output, veryFast);
pinInit(pinA3);
//pinConfig(pinA6, alternate, floating, pullDown, veryFast);
pinConfig(pinA3, output, pushPull, output, veryFast);
pinSetAlternate(pinA5, 0); // SPI1_SCK
pinSetAlternate(pinA6, 0); // SPI1_MISO
pinSetAlternate(pinA7, 0); // SPI1_MOSI
// spi hardware channel setup
spiInitMaster(SPI_CH_1,
SPI_NONINVERTED,
SPI_CAPTURE_ON_FIRST_CLK_TRANSITION,
SPI_MSB_FIRST,
SPI_DOUPLEX,
7);
7,
pinA5,
0,
pinA7,
0,
pinA6,
0);
spiSetupCH(&spi_test_channel, SPI_CH_1, pinA3);

Loading…
Cancel
Save