资源简介
为ADS1148驱动程序,其中包含TI测试代码,可以直接使用
代码片段和文件信息
#include “bsp.h“
#define GPIO_NUM_ADS1148_CS GPIO_NUM_P13
#define GPIO_NUM_ADS1148_SCLK GPIO_NUM_P35
#define GPIO_NUM_ADS1148_MISO GPIO_NUM_P33
#define GPIO_NUM_ADS1148_MOSI GPIO_NUM_P03
#define GPIO_NUM_ADS1148_DRDY GPIO_NUM_P04
#define GPIO_NUM_ADS1148_START GPIO_NUM_P56
#define ADS1148_SPI_CS(data) GPIO_OutData(GPIO_NUM_ADS1148_CS data)
#define ADS1148_SPI_SCLK(data) GPIO_OutData(GPIO_NUM_ADS1148_SCLK data)
#define ADS1148_SPI_MOSI(data) GPIO_OutData(GPIO_NUM_ADS1148_MOSI data)
#define ADS1148_SPI_MISO GPIO_GetIn(GPIO_NUM_ADS1148_MISO)
#define ADS1148_START(data) GPIO_OutData(GPIO_NUM_ADS1148_START data)
#define ADS1148_DRDY_STATUS GPIO_GetIn(GPIO_NUM_ADS1148_DRDY)
#define ADS1148_SAMPLE_MAX_TIMES 6
enum ADS1148_COMMAND
{
ADS1148_CMD_WAKEUP = 0x00
ADS1148_CMD_SLEEP = 0x02
ADS1148_CMD_SYNC_1 = 0x04
ADS1148_CMD_SYNC_2 = 0x05
ADS1148_CMD_RESET = 0x06
ADS1148_CMD_NOP = 0xFF
ADS1148_CMD_RDATA = 0x12
ADS1148_CMD_RDATAC = 0x14
ADS1148_CMD_SDATAC = 0x16
ADS1148_CMD_RREG = 0x20
ADS1148_CMD_WREG = 0x40
ADS1148_CMD_SYSOCAL = 0x60
ADS1148_CMD_SYSGCAL = 0x61
ADS1148_CMD_SELFCAL = 0x62
ADS1148_CMD_Restrict = 0xF1 //restricted command must never be issued to the device.
};
enum ADS1148_REGISTER_ADDRESS
{
ADS1148_REG_ADDR_MUX0 = 0x00
ADS1148_REG_ADDR_VBIAS
ADS1148_REG_ADDR_MUX1
ADS1148_REG_ADDR_SYS0
ADS1148_REG_ADDR_OFC0
ADS1148_REG_ADDR_OFC1
ADS1148_REG_ADDR_OFC2
ADS1148_REG_ADDR_FSC0
ADS1148_REG_ADDR_FSC1
ADS1148_REG_ADDR_FSC2
ADS1148_REG_ADDR_IDAC0
ADS1148_REG_ADDR_IDAC1
ADS1148_REG_ADDR_GPIOCFG
ADS1148_REG_ADDR_GPIODIR
ADS1148_REG_ADDR_GPIODAT
};
void ADS1148_Pin_Init()
{
GPIO_SetOut(GPIO_NUM_ADS1148_CS GPIO_Out1);
GPIO_SetOut(GPIO_NUM_ADS1148_SCLK GPIO_Out1);
GPIO_SetOut(GPIO_NUM_ADS1148_MOSI GPIO_Out1);
GPIO_SetIn(GPIO_NUM_ADS1148_MISO);
GPIO_SetIn(GPIO_NUM_ADS1148_DRDY);
GPIO_SetOut(GPIO_NUM_ADS1148_START GPIO_Out0);
}
UINT8 ADS1148_SendByte(UINT8 byte)
{
UINT8 i num = 0;
for(i=0; i<8; i++)
{
num <<= 1;
ADS1148_SPI_SCLK(1);
delay_2us(1);
if((byte & 0x80)>>7)
{
ADS1148_SPI_MOSI(1);
}
else
{
ADS1148_SPI_MOSI(0);
}
if(ADS1148_SPI_MISO)
{
num++;
}
ADS1148_SPI_SCLK(0);
delay_2us(1);
byte <<= 1;
}
return num;
}
UINT16 ADS1148_SendHalfWord(UINT16 byte)
{
UINT16 num = 0;
UINT8 i;
for(i=0; i<16; i++)
{
num <<= 1;
ADS1148_SPI_SCLK(1);
delay_2us(1);
if((byte & 0x8000)>>15)
{
ADS1148_SPI_
相关资源
- ds2781单总线1-wire驱动代码 1
- gsm模块 stm32 驱动代码
- STM32F1单片机MPU6050加速度计陀螺仪驱动
- TM7705 AD7705驱动代码
- FS4412 各模块驱动代码
- OLED0.96寸 资料 驱动代码
- 基于STM32F103硬件I2C读写24Cxx驱动代码的
- AD9959驱动代码工程
- SHT30文档资料及驱动代码
- si47xx 驱动代码
- MPU9250驱动代码
- ADS1115的驱动代码,基于STM32F103
- GP2Y粉尘传感器 stm32f1 驱动代码
- 4.3寸TFT液晶屏资料及驱动代码
- w25q16/w25x16驱动代码,使用cube库编写,
- linux 驱动程序开发冯国进代码
- DAC7311驱动代码
- ADS1118驱动代码
- ADS1256驱动代码stm32f103
- AD9833驱动代码
- ESP8266 wifi模块驱动代码
- STM32F407 W8782模块驱动代码
- VL53L1X资料.zip
- 基于BU61580的1553B总线测试代码
- 基于STM32F107的各种USB驱动程序
- altera平台AD9226驱动代码
- STM32 QN8027 的驱动代码
- 基于stm32 的LCD1602驱动代码
- m26模块TCP通讯驱动代码
- 嵌入式系统/ARM技术中的Linux NAND FLAS
评论
共有 条评论