STM32Cubemx—— ADS1118二差分驱动程序移植

        作为一个32的新手,选择STM32Cubemx是一个非常好的选择,cubermx能够帮助新手快速初始化使用到的外设、GPIO等,大大缩短了我们的开发时间。同时,软件不仅能配置STM32外设,还能进行第三方软件系统的配置;话不多说直接上代码:

ads1118.h

#ifndef __ADS1118_H
#define __ADS1118_H	 
#include "sys.h"
#include "stm32f1xx_hal.h"

//端口定义
#define CONFIG_VALUE    0X408B       //AIN0-AIN1  4.096  128sps  pull on DOUT

#define SCLK PCout(12)	//ads1118时钟引脚
#define MOSI PCout(11)	//ads1118 DIN引脚
#define CS   PCout(8)	//ads1118 CS引脚

#define MISO PCout(10)	//ads1118 DOUT/DRDY引脚
#define READ_MISO  PCin(10)


#define SCLK_H SCLK=1
#define SCLK_L SCLK=0

/*单片机为主机*/
#define MOSI_H MOSI=1  //主机出从机入
#define MOSI_L MOSI=0

#define MISO_H MISO=1  //主机入从机出
#define MISO_L MISO=0

#define   CS_H   CS=1
#define   CS_L   CS=0

//单次转换开始
#define ADS1118_CONFIG_SS_START_MASK 0x8000
#define ADS1118_CONFIG_SS_START_ON   0x8000  //开始单次转换
#define ADS1118_CONFIG_SS_START_OFF  0x0000  // 无效
 
//输入多路复用器配置
#define ADS1118_CONFIG_MUX_MASK      0x7000
#define ADS1118_CONFIG_MUX_DIFF_0_1  0x0000  //AINP is AIN0 and AINN is AIN1 //差分
#define ADS1118_CONFIG_MUX_DIFF_0_3  0x1000  //AINP is AIN0 and AINN is AIN3
#define ADS1118_CONFIG_MUX_DIFF_1_3  0x2000  //AINP is AIN1 and AINN is AIN3
#define ADS1118_CONFIG_MUX_DIFF_2_3  0x3000  //AINP is AIN2 and AINN is AIN3
#define ADS1118_CONFIG_MUX_SINGLE_0  0x4000  //AINP is AIN0 and AINN is GND//单端
#define ADS1118_CONFIG_MUX_SINGLE_1  0x5000  //AINP is AIN1 and AINN is GND
#define ADS1118_CONFIG_MUX_SINGLE_2  0x6000  //AINP is AIN2 and AINN is GND
#define ADS1118_CONFIG_MUX_SINGLE_3  0x7000  //AINP is AIN3 and AINN is GND
	
//可编程增益放大器配置
#define ADS1118_CONFIG_PGA_MASK      0x0E00  //FSR is ±0.256 V
#define ADS1118_CONFIG_PGA_6_144V    0x0000  //FSR is ±6.144 V
#define ADS1118_CONFIG_PGA_4_096V    0x0200  //FSR is ±4.096 V
#define ADS1118_CONFIG_PGA_2_048V    0x0400  //FSR is ±2.048 V
#define ADS1118_CONFIG_PGA_1_024V    0x0600  //FSR is ±1.024 V
#define ADS1118_CONFIG_PGA_0_512V    0x0800  //FSR is ±0.512 V
#define ADS1118_CONFIG_PGA_0_256V    0x0A00  //FSR is ±0.25
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值