嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
ADS131E08-STM32F767ZI驱动
#include "ADS131E08.h"
#include "cmsis_os.h"
#include "stdlib.h"
#include "string.h"
#include "stm32f7xx_it.h"
_adcConfE* adcConfE0 = NULL;
_adcConfE* adcConfE1 = NULL;
void ADS131E08_control_start_signal(_signalState onOff);
void ADS131E08_control_reset_signal(_signalState onOff);
void ADS131E08_control_cs_signal(_adcType adcType, _signalState onOff);
GPIO_PinState ADS131E08_read_cs_signal(_adcType adcType);
HAL_StatusTypeDef ADS131E08_startup(_adcType adcType);
HAL_StatusTypeDef ADS131E08_send_command(_adcConfE* adcConfE, uint16_t cmd, uint16_t addr, uint8_t regs, uint16_t regNo);
void ADS131E08_set_default_register(_adcConfE* adcConfE);
void ADS131E08_init(_adcType adcType, SPI_HandleTypeDef* hspi)
{
if(adcType == ADS131E08_ADC20)
{
adcConfE0 = (_adcConfE*)malloc(sizeof(_adcConfE));
memset(adcConfE0, 0, sizeof(_adcConfE));
adcConfE0->type = adcType;
adcConfE0->stat = ADS131E08_INIT;
adcConfE0->hspi = hspi;
adcConfE0->nReset.port = SPI1_NRESET_GPIO_Port;
adcConfE0->nReset.pin = SPI1_NRESET_Pin;
adcConfE0->cs.port = SPI1_CS0_GPIO_Port;
adcConfE0->cs.pin = SPI1_CS0_Pin;
adcConfE0->nDrdy.port = SPI1_INT_GPIO_Port;
adcConfE0->nDrdy.pin = SPI1_INT_Pin;
adcConfE0->start.port = SPI1_START_GPIO_Port;
adcConfE0->start.pin = SPI1_START_Pin;
adcConfE0->bufLen = E08_WORDS_IN_FRAME * E08_WORD_LENGTH 1; // 9 Words x 24 Bits = 216 Bits (27 Bytes) 1 (command byte)
adcConfE0->rxBuf = (uint8_t*)malloc(adcConfE0->bufLen);
memset(adcConfE0->rxBuf, 0, adcConfE0->bufLen);
adcConfE0->txBuf = (uint8_t*)malloc(adcConfE0->bufLen);
ADS131E08_set_default_register(adcConfE0);
}
else if(adcType == ADS131E08_ADC21)
{
adcConfE1 = (_adcConfE*)malloc(sizeof(_adcConfE));
memset(adcConfE1, 0, sizeof(_adcConfE));
adcConfE1->type = adcType;
adcConfE1->stat = ADS131E08_INIT;
adcConfE1->hspi = hspi;
adcConfE1->nReset.port = SPI1_NRESET_GPIO_Port;
adcConfE1->nReset.pin = SPI1_NRESET_Pin;
adcConfE1->cs.port = SPI1_CS1_GPIO_Port;
adcConfE1->cs.pin = SPI1_CS1_Pin;
adcConfE1->nDrdy.port = SPI1_INT_GPIO_Port;
adcConfE1->nDrdy.pin = SPI1_INT_Pin;
adcConfE1->start.port = SPI1_START_GPIO_Port;
adcConfE1->start.pin = SPI1_START_Pin;
adcConfE1->bufLen = E08_WORDS_IN_FRAME * E08_WORD_LENGTH; // 9 Words x 24 Bits
adcConfE1->rxBuf = (uint8_t*)malloc(adcConfE1->bufLen);
memset(adcConfE1->rxBuf, 0, adcConfE1->bufLen);
adcConfE1->txBuf = (uint8_t*)malloc(adcConfE1->bufLen);