diff --git a/Middlewares/owlware b/Middlewares/owlware index 5684dc5..ee55f02 160000 --- a/Middlewares/owlware +++ b/Middlewares/owlware @@ -1 +1 @@ -Subproject commit 5684dc506cb56134d7e8060ef6b259e1edd52bfe +Subproject commit ee55f02e9db76e4344b55dd508d086d25c9fe6e6 diff --git a/app/src/spi.cpp b/app/src/spi.cpp new file mode 100644 index 0000000..254f271 --- /dev/null +++ b/app/src/spi.cpp @@ -0,0 +1,47 @@ +#include "main.h" +#include "robotconfig.h" + + +typedef struct { + SPI_HandleTypeDef* spiHandle; + GPIO_TypeDef* csPort; + uint16_t csPin; //esto directamente nose, pero venia en un ejemplo que vi +} SPI_Config; + +SPI_Config SPI1_Config = { + .spiHandle = &hspi1, + .csPort = SPI1_CS_PORT, + .csPin = SPI1_CS_PIN +}; + +// Inicia SPI +void SPI_Init(SPI_Config* config) { + HAL_GPIO_WritePin(config->csPort, config->csPin, GPIO_PIN_SET); +} + +// envia y recibe +uint8_t SPI_Transfer(SPI_Config* config, uint8_t data) { + uint8_t receivedData; + HAL_GPIO_WritePin(config->csPort, config->csPin, GPIO_PIN_RESET); + HAL_SPI_TransmitReceive(config->spiHandle, &data, &receivedData, 1, HAL_MAX_DELAY); + HAL_GPIO_WritePin(config->csPort, config->csPin, GPIO_PIN_SET); + return receivedData; +} + +int main(void) { + HAL_Init(); + tim(); //voy a creer que es lo del relog + MX_GPIO_Init(); + MX_SPI1_Init(); + + + SPI_Init(&SPI1_Config); + + while (1) { + + uint8_t command = 0x01; + uint8_t response = SPI_Transfer(&SPI1_Config, command); + + HAL_Delay(1000); // awanta 1 segundo + } +} diff --git a/robotConfig b/robotConfig index d703c12..17e1700 160000 --- a/robotConfig +++ b/robotConfig @@ -1 +1 @@ -Subproject commit d703c12810fcdd9088f6a01013d927a9d9152920 +Subproject commit 17e17007c0865acd1ab07c0f0c7806c297789705