This commit is contained in:
cfif 2026-03-30 16:03:37 +03:00
commit 9d6e4321eb
3 changed files with 71 additions and 0 deletions

39
SpiPorts.c Normal file
View File

@ -0,0 +1,39 @@
//
// Created by ilya on 25.03.24.
//
#include "SpiPorts.h"
#include "at32f435_437.h"
tSpiPorts SPI_PORTS;
static void vSpiPort_InitSPI1RxTxPin() {
gpio_init_type GPIO_InitStruct;
gpio_default_para_init(&GPIO_InitStruct);
//// spi1 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_DOWN;
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
GPIO_InitStruct.gpio_pins = GPIO_PINS_5;
gpio_init(GPIOA, &GPIO_InitStruct);
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE5, GPIO_MUX_5);
//// spi1 mosi pin
GPIO_InitStruct.gpio_pull = GPIO_PULL_UP;
GPIO_InitStruct.gpio_pins = GPIO_PINS_7;
gpio_init(GPIOA, &GPIO_InitStruct);
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE15, GPIO_MUX_5);
}
static tSpiPortArtery vSpiPort_InitSPI1(tGpioPin *chipSelect) {
vSpiPort_InitSPI1RxTxPin();
return vSpiPortInitName(SPI1, SPI_FRAME_8BIT, SPI_MCLK_DIV_16, SPI_CLOCK_POLARITY_HIGH, SPI_CLOCK_PHASE_2EDGE, chipSelect);
}
void SpiPorts_Init(tSpiChipSelectPins *SpiChipSelectPins) {
SPI_PORTS.Spi1 = vSpiPort_InitSPI1(&SpiChipSelectPins->spi1ChipSelect);
SPI_PORTS.Spi1_IO = vSpiPortGetIo(&SPI_PORTS.Spi1);
}

22
SpiPorts.h Normal file
View File

@ -0,0 +1,22 @@
//
// Created by ilya on 25.03.24.
//
#ifndef SMART_COMPONENTS_SPIPORTS_H
#define SMART_COMPONENTS_SPIPORTS_H
#include "SpiPortArtery.h"
typedef struct {
tGpioPin spi1ChipSelect;
} tSpiChipSelectPins;
typedef struct {
tSpiPortArtery Spi1;
tSpiPortIO Spi1_IO;
} tSpiPorts;
extern tSpiPorts SPI_PORTS;
void SpiPorts_Init(tSpiChipSelectPins *SpiChipSelectPins);
#endif //SMART_COMPONENTS_SPIPORTS_H

10
modular.json Normal file
View File

@ -0,0 +1,10 @@
{
"cmake": {
"inc_dirs": [
"./"
],
"srcs": [
"./**.c"
]
}
}