#include "user_iam20680.h" struct iam20680_dev spi2_dev; extern SPI_HandleTypeDef hspi2; uint8_t iam_read(uint8_t reg_addr, uint8_t *reg_data, uint16_t len) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi2, ®_addr, 1, 1000); HAL_SPI_Receive(&hspi2,reg_data, len, 1000); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET); return 0; } uint8_t iam_write(uint8_t reg_addr, uint8_t *reg_data, uint16_t len) { HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi2, ®_addr, 1, 1000); HAL_SPI_Transmit(&hspi2, reg_data, len, 1000); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET); return 0; } void user_dev_init1() { spi2_dev.delay=HAL_Delay; spi2_dev.interface = IAM20680_SPI; spi2_dev.read=iam_read; spi2_dev.write=iam_write; iam20680_init(&spi2_dev); }