【原创】基于NIOS II的ADS1256 SPI驱动
2009-08-11 20:47
302 查看
/*********************************说明**********************************/
在SOPC里面SPI设置如下:
#ifndef ADS1256_H_
16#define ADS1256_H_
17#include "altera_avalon_spi_regs.h"
21#include "altera_avalon_spi.h"
22#include "system.h"
23#include "altera_avalon_pio_regs.h"
24#include "priv/alt_busy_sleep.h"
25
29//ADS1256 Command Definitions
30//#define ADS1256_WAKEUP 0x00 //Completes SYNC and Exits Standby Mode
31#define ADS1256_RDATA 0x01 //Read Data
32#define ADS1256_RDATAC 0x03 //Read Data Continuously
33#define ADS1256_SDATAC 0x0f //Stop Read Data Continuously
34#define ADS1256_RREG 0x10 //Read from REG rrr 0001 rrrr (1xh) 0000 nnnn
35#define ADS1256_WREG 0x50 //Write to REG rrr 0101 rrrr (5xh) 0000 nnnn
36#define ADS1256_SELFCAL 0xf0 //Offset and Gain Self-Calibration
37#define ADS1256_SELFOCAL 0xf1 //Offset Self-Calibration
38#define ADS1256_SELFGCAL 0xf2 //Gain Self-Calibration
39#define ADS1256_SYSOCAL 0xf3 //System Offset Calibration
40#define ADS1256_SYSGCAL 0xf4 //System Gain Calibration
41#define ADS1256_SYNC 0xfc //Synchronize the A/D Conversion
42#define ADS1256_STANDBY 0xfd //Begin Standby Mode
43#define ADS1256_RESET 0xfe //Reset to Power-Up Values
44#define ADS1256_WAKEUP 0xff //Completes SYNC and Exits Standby Mode
45
46
47
48//ADS1256 REGISTER MAP
49#define ADS1256_STATUS 0x00 //STATUS REGISTER (ADDRESS 00h)
50#define ADS1256_MUX 0x01 //Input Multiplexer Control Register (Address 01h)
51#define ADS1256_ADCON 0x02 //A/D Control Register (Address 02h)
52#define ADS1256_DRATE 0x03 //A/D Data Rate (Address 03h)
53#define ADS1256_IO 0x04 //GPIO Control Register (Address 04H)
54#define ADS1256_OFC0 0x05 //Offset Calibration Byte 0, least significant byte (Address 05h)
55#define ADS1256_OFC1 0x06 //Offset Calibration Byte 1 (Address 06h)
56#define ADS1256_OFC2 0x07 //Offset Calibration Byte 2, most significant byte (Address 07h)
57#define ADS1256_FSC0 0x08 //Full.scale Calibration Byte 0, least significant byte (Address 08h)
58#define ADS1256_FSC1 0x09 //Full.scale Calibration Byte 1 (Address 09h)
59#define ADS1256_FSC2 0x0a //Full.scale Calibration Byte 2, most significant byte (Address 0Ah)
60
61
62void InitAds1256();
66int ReadFromAds1256();
67
68#endif /*ADS1256_H_*/
69
70
/***************************源文件****************************/
1#include "ads1256.h"
19
29void InitAds1256()
41int ReadFromAds1256()
62
83
相关文章推荐
- [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - SD卡(SPI模式)驱动
- 【原创】基于NIOS II SPI的ads8321驱动
- 基于ATMEGA8515的SPI驱动ST7565P液晶屏的程序(原创)
- Android 基于sx8652的触摸屏驱动(gpio模拟spi)
- 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一)
- 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一)
- [原创] Robot framework 基于关键字、BDD驱动的自动化测试框架
- mini2440 SPI驱动移植 (基于SPI子系统)
- 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一)
- 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一)
- 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(四)
- 基于S3C2440的Linux SPI驱动移植笔记
- 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(二)
- SPI设备端驱动编写----基于linux4.9 driver核心层
- 基于S3C2440的嵌入式Linux驱动——SPI子系统解读(二) .
- Android字符设备驱动开发基于高通msm8916【原创 】
- 基于S3C2440的嵌入式Linux驱动--SPI子系统图解
- linux S3C2440 spi 驱动简单测试 (基于简单字符驱动)
- 基于TQ2440的SPI驱动学习(OLED)
- 龙芯1c上实现基于linux的spi驱动经验