嵌入式开发者社区

标题: 求大神指点,C6748的ADS131E04驱动程序问题 [打印本页]

作者: shanghai1943    时间: 2015-7-4 15:25
标题: 求大神指点,C6748的ADS131E04驱动程序问题
                           小弟学习创龙的板子有一个多月了,本以为学的差不多了,就找点事情做。第一件事就是写ADC驱动。
                     搞这个ADS131E04驱动已经有一段时间了,实在搞不定了才来此发帖,求各位大神帮帮忙。
                   遇到问题如下:
                    1、能通过SPI正常的写入数据、却不能正常的读出数据{:soso_e101:}
                  如下是一段从ADS131E04寄存器读出数据的程序,目的是从AD芯片地址为0x01到0x08寄存器里的内容读出来                        
                                   /****************************************************************************/
                                   /*                                                                                                               */
                                  /*              从AD寄存器读出数据                                                                 */
                                  /*                                                                                                                */
                                  /****************************************************************************/
                                  void Read_ADS131E04Reg()
                                  {
                                        unsigned int index=0;
                                         tx_data[0] = 0x21 ;//设置从CONFIG1寄存器所在地址为待配置寄存器的起始地址
                                          tx_data[1] = 0x07;//总共需要配置8个寄存器
                                       // 情况变量
                                      for (index = 2; index < 10; index++)
                                      {
                                        tx_data[index] =  0;
                                      }
                                     tx_len = rx_len = index;
                                     SPIDat1Config(SOC_SPI_0_REGS, (SPI_CSHOLD | SPI_DATA_FORMAT0), 0x4);
                                    SpiTransfer();
                             }
              2、此外、Dout引脚为什么只有在片选引脚为高电平的状态时才输出高电平?
              3、判忙引脚为什么一直都处在高电平状态?
              4、哪位大神有写好的ADS131E04/06/08的驱动程序,分享一下呗,万分感谢{:soso_e196:}

作者: Lewis    时间: 2015-7-5 17:44
对于spi关键是要配置时序跟数据手册上的一致,主要是配置时钟
// 配置 SPI 时钟
SPIConfigClkFormat(SOC_SPI_1_REGS, (SPI_CLK_POL_LOW | SPI_CLK_INPHASE), dataFormat);
时钟空闲时是高电平还是低电平,时钟是否延迟半个周期
作者: shanghai1943    时间: 2015-7-5 18:03
本帖最后由 shanghai1943 于 2015-7-5 18:11 编辑
Lewis 发表于 2015-7-5 17:44
对于spi关键是要配置时序跟数据手册上的一致,主要是配置时钟
// 配置 SPI 时钟
SPIConfigClkFormat(SOC_SP ...


SPI时钟这个配置过,配置如下
                 CPOL=0   空闲时为低电平
                 CPHA =1 偶数下降沿数据传输,也即延迟半个周期。
但是如上配置后,SPI能写入数据,但是不能读出数据;
请求大神指点!




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4