这是ADS1282数据手册上的,那个Register mode(PIN=0)需要我们进行配置吗,是在哪里配置啊
user3917511:
貌似是不需要我们进行配置
我以前写的代码,给您参考下,希望对您有帮助。。
void ADS1248_LowLevel_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; /*!< ADS1248_SPI Periph clock enable */ /*!< ADS1248_SPI_SCL_GPIO_CLK, ADS1248_SPI_SDA_GPIO_CLK and ADS1248_SPI_SMBUSALERT_GPIO_CLK Periph clock enable */ RCC_APB2PeriphClockCmd(ADS1248_SPI_CLK_GPIO_CLK | ADS1248_SPI_STR_GPIO_CLK | ADS1248_SPI_RDY_GPIO_CLK, ENABLE); /*!< Configure ADS1248_SPI pins: CLK SDI */ GPIO_InitStructure.GPIO_Pin = ADS1248_SPI_CLK_PIN | ADS1248_SPI_SDI_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(ADS1248_SPI_CLK_GPIO_PORT, &GPIO_InitStructure); /*!< Configure ADS1248_SPI pins: SDO */ GPIO_InitStructure.GPIO_Pin = ADS1248_SPI_SDO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(ADS1248_SPI_SDO_GPIO_PORT, &GPIO_InitStructure); /*!< Configure ADS1248_SPI pins: START RESET */ GPIO_InitStructure.GPIO_Pin = ADS1248_SPI_STR_PIN | ADS1248_SPI_RET_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(ADS1248_SPI_STR_GPIO_PORT, &GPIO_InitStructure); /*!< Configure ADS1248_SPI pins: CS */ GPIO_InitStructure.GPIO_Pin = ADS1248_SPI_CS_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(ADS1248_SPI_CS_GPIO_PORT, &GPIO_InitStructure); /*!< Configure ADS1248_SPI pins: READY*/ GPIO_InitStructure.GPIO_Pin = ADS1248_SPI_RDY_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(ADS1248_SPI_RDY_GPIO_PORT, &GPIO_InitStructure);}void ADS1248_Init(void){ ADS1248_LowLevel_Init(); ADS1248_CS_H; ADS1248_RET_H; ADS1248_RET_L; delay(5000000); ADS1248_RET_H; delay(5000000); ADS1248_STR_L; delay(DELAY_T); ADS1248_STR_H;}/********************************************************************************************************************* 函数名称: void SPI_SendByte() Name: void SPI_SendByte()** 功能描述: 通过SPI接口发送一个字节 Function: send a byte by SPI interface** 输 入: INT8U byte: 发送的字节 Input: INT8U byte: the byte that will be send** 输出: 无 Output: NULL** 说明:********************************************************************************************************************/unsigned char SPI_SendByte(unsigned char byte){ unsigned char i,j; j=0; ADS1248_CS_L; SPI_CLK_L; delay(DELAY_T); for(i=0;i<8;i++) //"发数据 { SPI_CLK_H; if(byte&0x80)SPI_SDI_H; else SPI_SDI_L; byte=byte<<1; delay(DELAY_T); j=j<<1; if(GPIO_ReadInputDataBit(ADS1248_SPI_SDO_GPIO_PORT,ADS1248_SPI_SDO_PIN))j=(j|0x01); //"读数据 SPI_CLK_L;// delay(DELAY_T); } //ADS1248_CS_H; return j;}/********************************************************************************************************************* 函数名称: INT8U SPI_RecByte() Name: INT8U SPI_RecByte()** 功能描述: 从SPI接口接收一个字节 Function: receive a byte from SPI interface** 输 入: 无 Input: NULL** 输出: 收到的字节 Output: the byte that be received********************************************************************************************************************/unsigned char SPI_RecByte(void){ return SPI_SendByte(0XFF);}ADS1248_Init(); //while(aabb) //{ // // main(){ ADS1248_Init(); SPI_SendByte(ADS1248_WREG|0X04); SPI_SendByte(0X01); SPI_SendByte(0XA3); SPI_SendByte(ADS1248_RREG|0X04); SPI_SendByte(0X01); data_Buf[3] = SPI_RecByte();}
pan pan1:
回复 user3917511:
你好,首先谢谢你的回答,但是ADS1282并没有CS引脚啊,好像和ADS1248不一样啊
pan pan1:
回复 user3917511:
你好:问一下你这个程序时软件模拟SPI吗?
user3917511:
回复 pan pan1:
我的这个程序就是软件模拟SPI哦。
user3917511:
回复 pan pan1:
ADS1282确实是没有CS引脚。。ADS1282EVM是建立从早期硅例子,ADS1282EVM原理图从来都没有更新以反映的实际操作部分。你会发现25管脚始终被一个下拉电阻拉低,管理的都是拉低通过下拉电阻,本质上把这这个管脚拉低才是为正确的操作。楼主不妨可以试试。。这是代替CS引脚的。。
JiaChuang Chen:
你确定这个是ADS1282datasheet上面的内容?我字ADS1282手册上怎么没有找到这段话?
pan pan1:
回复 JiaChuang Chen:
ADS1282数据手册上的P30
pan pan1:
回复 user3917511:
我的ADS1282的25管脚是DGND啊,
JiaChuang Chen:
回复 pan pan1:
我再P30也没有找到这段话。你的datasheet是TI网站上最新的datasheet吗?能不能附件发一份你用的datasheet?
ADS1282最新数据手册:http://www.ti.com.cn/cn/lit/ds/symlink/ads1282.pdf。
另外,25管脚确实是接地。请不要受到一些随意copy的回复的干扰。
pan pan1:
回复 JiaChuang Chen:
你这个是2013的,我下的是2007版的,