ads7951和AVR 168通讯,为什么按手册的给ADS7951设置无效,ads7951总是工作在缺省模式(手动、CH0、i/p2.5V)!我的程序如下
SPCR = 0x56; //setup SPI, MASTER,CPHA = 1, CPOL = 0 SPSR = 0x00; //setup SPI
AD_CS_OFF; // ADS7951-CS to Hi Delay_short(); AD_CS_ON; // ADS7951-CS to Lo, set ADS7952 mode asm("nop");
SPCR = 0x56; SPDR = 0x18; // ADS7952: Manual Mode;Enables programming while(!(SPSR & (1<<SPIF))); j = SPSR; j = SPDR; SPCR = 0x56; SPDR = 0x40; // 5V i/p while(!(SPSR & (1<<SPIF))); j = SPSR; j = SPDR; AD_CS_OFF;
从示波器上看ADS的CS、SDI、SCK时序没问题。在后面的正常采样程序中改变通道后,返回的高四位一直都是0,而且也没有变为5V i/p。
为什么不对?能否提供Ti例程?
需要注意Figure 48,另外推荐在powerup or after reset情况下编程这些寄存器。
谢谢,已解决
此站点中的所有内容和材料均“按原样”提供。 TI 及其各自供应商不对用于任何用途的这些材料的适用性做任何解释,且不承担有关这些材料的保证和条件,包括但不限于所有用于特定用途的适销性或适用性、所有第三方知识产权的所有权和无侵害的暗示保证和条件。 TI 未授予任何明示或暗示的、表见或非表见的许可。 使用此站点上的信息可能需要从第三方或 TI 获得许可。 此站点中的内容可能包含或受到特定指南或使用限制的制约。 此站点中的所有记录和使用内容均遵守站点的使用条款;使用此内容的第三方同意接受任何限制或指南并遵守此站点的使用条款。 TI 及其供应商保留随时对内容与材料、产品、程序和服务进行更改、删除、修改、增强、改进或其它更改的权利,或不在另行通知的情况下,迁移或中止任何内容、产品、程序或服务。