ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
318078
johann (27.03.2012 15:15, просмотров: 3209)
AD7699 через SPI 30MHz подключена к LPC1788.  #define CFG 0x8000 #define INCC(val) (val << 12) #define INx(val) (val << 9) #define BW 0x0100 #define REF(val) (val << 5) #define SEQ(val) (val << 3) #define nRB 0x0004 unsigned short int AD7689_CFG0 = CFG | INCC(7) | INx(0) | BW | REF(7) | SEQ(0) | nRB;//For ADC Channel 0 unsigned short int AD7689_CFG1 = CFG | INCC(7) | INx(1) | BW | REF(7) | SEQ(0) | nRB;//For ADC Channel 1 unsigned short int AD7689_CFG2 = CFG | INCC(7) | INx(2) | BW | REF(7) | SEQ(0) | nRB;//For ADC Channel 2 unsigned short int AD7689_CFG3 = CFG | INCC(7) | INx(3) | BW | REF(7) | SEQ(0) | nRB;//For ADC Channel 3 unsigned short int AD7689_CFG4 = CFG | INCC(7) | INx(4) | BW | REF(7) | SEQ(0) | nRB;//For ADC Channel 4 unsigned short int AD7689_CFG5 = CFG | INCC(7) | INx(5) | BW | REF(7) | SEQ(0) | nRB;//For ADC Channel 5 unsigned short int AD7689_CFG6 = CFG | INCC(7) | INx(6) | BW | REF(7) | SEQ(0) | nRB;//For ADC Channel 6 unsigned short int AD7689_CFG7 = CFG | INCC(7) | INx(7) | BW | REF(7) | SEQ(0) | nRB;//For ADC Channel 7 #define AD7699_SEQ_CMD (CFG | INCC(7) | INx(7) | BW | REF(2) | SEQ(3) | nRB) const unsigned short adc_ctrl_tab_const[] = { AD7689_CFG0, // Channel 0 AD7689_CFG1, // Channel 1 AD7689_CFG2, // Channel 2 AD7689_CFG3, // Channel 3 AD7689_CFG4, // Channel 4 AD7689_CFG5, // Channel 5 AD7689_CFG6, // Channel 6 AD7689_CFG7, // Channel 7 0} ; // Temp // Extra byte to get last LSB Затем читаю 8 каналов: ch_sample[0] = ssp0send_short(adc_ctrl_tab_const[0]); ch_sample[1] = ssp0send_short(adc_ctrl_tab_const[1]); ch_sample[2] = ssp0send_short(adc_ctrl_tab_const[2]); ch_sample[3] = ssp0send_short(adc_ctrl_tab_const[3]); ch_sample[4] = ssp0send_short(adc_ctrl_tab_const[4]); ch_sample[5] = ssp0send_short(adc_ctrl_tab_const[5]); ch_sample[6] = ssp0send_short(adc_ctrl_tab_const[6]); ch_sample[7] = ssp0send_short(adc_ctrl_tab_const[7]); Выходит чушь одна. Но если только один канал читать, всё равно какой из них, то получаю значения правильно. Может кто имеет опыт с AD7699/AD7689 или подобными подскажите пожадуста что не так делаю.