}
+uint16_t readAdc0(uint16_t cmd) {
+ static uint32_t accu = 0;
+ spi1_writeWord(cmd);
+ accu += spi1_receivedWord();
+ uint16_t res = accu/4;
+ accu = 0;
+ spi1_writeWord(cmd);
+ accu += spi1_receivedWord();
+ spi1_writeWord(cmd);
+ accu += spi1_receivedWord();
+ spi1_writeWord(cmd);
+ accu += spi1_receivedWord();
+ return res;
+ }
+
+
void adc0_read(void){
uint8_t c = 0; // counter for spi buffer fill
spi1_writeWord(CH3VSGND | UNIPOLAR); // VDDDCUR
// ignore received data
+
spi1_writeWord(CH4VSGND | UNIPOLAR); // VDDACUR
+
SPI_DMA_Buffer_In[c++] = VDDDCUR;
+
SPI_DMA_Buffer_In[c++] = spi1_receivedWord();
-// spi1_writeWord(CH5VSCH7 | UNIPOLAR); // VDDD
+// SPI_DMA_Buffer_In[c++] = readAdc0(CH5VSGND | UNIPOLAR);
+ // spi1_writeWord(CH5VSCH7 | UNIPOLAR); // VDDD
spi1_writeWord(CH5VSGND | UNIPOLAR); // VDDD vs AGND
SPI_DMA_Buffer_In[c++] = VDDACUR;
SPI_DMA_Buffer_In[c++] = spi1_receivedWord();