37 lines
841 B
C
37 lines
841 B
C
|
#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);
|
||
|
}
|