Init
This commit is contained in:
parent
8137afafa3
commit
a8ae5f13d8
36
SpiPorts.c
36
SpiPorts.c
|
|
@ -14,14 +14,14 @@ static void vSpiPort_InitSPI1RxTxPin() {
|
||||||
//// spi1 sck pin
|
//// spi1 sck pin
|
||||||
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
|
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
|
||||||
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
|
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
|
||||||
GPIO_InitStruct.gpio_pull = GPIO_PULL_DOWN;
|
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
|
||||||
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
|
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
|
||||||
GPIO_InitStruct.gpio_pins = GPIO_PINS_5;
|
GPIO_InitStruct.gpio_pins = GPIO_PINS_5;
|
||||||
gpio_init(GPIOA, &GPIO_InitStruct);
|
gpio_init(GPIOA, &GPIO_InitStruct);
|
||||||
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE5, GPIO_MUX_5);
|
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE5, GPIO_MUX_5);
|
||||||
|
|
||||||
//// spi1 mosi pin
|
//// spi1 mosi pin
|
||||||
GPIO_InitStruct.gpio_pull = GPIO_PULL_UP;
|
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
|
||||||
GPIO_InitStruct.gpio_pins = GPIO_PINS_7;
|
GPIO_InitStruct.gpio_pins = GPIO_PINS_7;
|
||||||
gpio_init(GPIOA, &GPIO_InitStruct);
|
gpio_init(GPIOA, &GPIO_InitStruct);
|
||||||
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE7, GPIO_MUX_5);
|
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE7, GPIO_MUX_5);
|
||||||
|
|
@ -33,7 +33,39 @@ static tSpiPortArtery vSpiPort_InitSPI1(tGpioPin *chipSelect) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void vSpiPort_InitSPI2RxTxPin() {
|
||||||
|
gpio_init_type GPIO_InitStruct;
|
||||||
|
|
||||||
|
gpio_default_para_init(&GPIO_InitStruct);
|
||||||
|
|
||||||
|
//// spi2 sck pin
|
||||||
|
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
|
||||||
|
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
|
||||||
|
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
|
||||||
|
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
|
||||||
|
GPIO_InitStruct.gpio_pins = GPIO_PINS_1;
|
||||||
|
gpio_init(GPIOB, &GPIO_InitStruct);
|
||||||
|
gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE1, GPIO_MUX_6);
|
||||||
|
|
||||||
|
//// spi2 mosi pin
|
||||||
|
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
|
||||||
|
GPIO_InitStruct.gpio_pins = GPIO_PINS_1;
|
||||||
|
gpio_init(GPIOC, &GPIO_InitStruct);
|
||||||
|
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE1, GPIO_MUX_7);
|
||||||
|
}
|
||||||
|
|
||||||
|
static tSpiPortArtery vSpiPort_InitSPI2(tGpioPin *chipSelect) {
|
||||||
|
vSpiPort_InitSPI2RxTxPin();
|
||||||
|
return vSpiPortInitName(SPI2, SPI_FRAME_8BIT, SPI_MCLK_DIV_32, SPI_CLOCK_POLARITY_LOW, SPI_CLOCK_PHASE_1EDGE, chipSelect);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void SpiPorts_Init(tSpiChipSelectPins *SpiChipSelectPins) {
|
void SpiPorts_Init(tSpiChipSelectPins *SpiChipSelectPins) {
|
||||||
SPI_PORTS.Spi1 = vSpiPort_InitSPI1(&SpiChipSelectPins->spi1ChipSelect);
|
SPI_PORTS.Spi1 = vSpiPort_InitSPI1(&SpiChipSelectPins->spi1ChipSelect);
|
||||||
SPI_PORTS.Spi1_IO = vSpiPortGetIo(&SPI_PORTS.Spi1);
|
SPI_PORTS.Spi1_IO = vSpiPortGetIo(&SPI_PORTS.Spi1);
|
||||||
|
|
||||||
|
SPI_PORTS.Spi2 = vSpiPort_InitSPI2(&SpiChipSelectPins->spi2ChipSelect);
|
||||||
|
SPI_PORTS.Spi2_IO = vSpiPortGetIo(&SPI_PORTS.Spi2);
|
||||||
}
|
}
|
||||||
|
|
@ -9,11 +9,15 @@
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
tGpioPin spi1ChipSelect;
|
tGpioPin spi1ChipSelect;
|
||||||
|
tGpioPin spi2ChipSelect;
|
||||||
} tSpiChipSelectPins;
|
} tSpiChipSelectPins;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
tSpiPortArtery Spi1;
|
tSpiPortArtery Spi1;
|
||||||
tSpiPortIO Spi1_IO;
|
tSpiPortIO Spi1_IO;
|
||||||
|
|
||||||
|
tSpiPortArtery Spi2;
|
||||||
|
tSpiPortIO Spi2_IO;
|
||||||
} tSpiPorts;
|
} tSpiPorts;
|
||||||
|
|
||||||
extern tSpiPorts SPI_PORTS;
|
extern tSpiPorts SPI_PORTS;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue