基本信息
源码名称:ADS131E08-STM32F767ZI驱动
源码大小:42.13M
文件格式:.zip
开发语言:C/C++
更新时间:2025-07-12
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 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);