ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
110899 Топик полностью
il-2 (22.01.2008 11:16, просмотров: 77) ответил URANstin на ATmega8 SPI ADS1242, Работа с SPI
Вот работающие процедурки, можешь по ним постигать что и как.  //Send and Receive Data to/from ADC #pragma optimize=3 uchar PutGetADC(uchar byte) { uchar res=0x01; do { SET_PORT(CLK); //Rising Clock Edge, Out Data From ADC to DTO pin if (byte&0x80) SET_PORT(DTI); else { CLR_PORT(DTI); __no_operation(); } //Set Data to Send to ADC CLR_PORT(CLK); //Falling Clock Edge, Store Data to ADC from DTI pin byte<<=1; res<<=1; if (GET_PORT(DTO)) res|=0x01; } while(SREG_Bit0==0); return(res); } //Write/Read ADC Register uchar WRegADC(uchar wregcmd, uchar byte) { uchar cRet; CLR_PORT(CS); PutGetADC(wregcmd); //WREG or RREG Command PutGetADC(0); //Write/Read 1 byte if (wregcmd<0x20) DelayADC(6); //Delay >50CLK for RREG Command cRet=PutGetADC(byte); SET_PORT(CS); return(cRet); //Write byte or Read }