📄 adc_module.c
字号:
/*---------------------- ADC 8 bit 32 channel ----------------------/
/************************* ADC Address IC **************************/
int const AddrI2C_ADC[8] = { 0x90,0x92,0x94,0x96,0x98,0x9A,0x9C,0x9E };
/*******************************************************************/
/************************* ADCChannel O/P *************************/
int const ADC_Channel[4] = { 0x00,0x01,0x02,0x03 };
/*******************************************************************/
/************************ ADC Read Data ****************************/
int adc_data( void ) // Minimum time to next convert ADC = ADC_I2C_LOOP * 30ms
{
static int dat = 0xFF;
AdcBuff = 0;
if( AddressSub > 0 && AddressSub < 5 )
{
AdcAddrID = AddrI2C_ADC[0];
AdcAddrOP = ADC_Channel[ AddressSub - 1 ];
}
else if( AddressSub > 4 && AddressSub < 9 )
{
AdcAddrID = AddrI2C_ADC[1];
AdcAddrOP = ADC_Channel[ AddressSub - 5 ];
}
else if( AddressSub > 8 && AddressSub < 13 )
{
AdcAddrID = AddrI2C_ADC[2];
AdcAddrOP = ADC_Channel[ AddressSub - 9 ];
}
else if( AddressSub > 12 && AddressSub < 17 )
{
AdcAddrID = AddrI2C_ADC[3];
AdcAddrOP = ADC_Channel[ AddressSub - 13 ];
}
else if( AddressSub > 16 && AddressSub < 21 )
{
AdcAddrID = AddrI2C_ADC[4];
AdcAddrOP = ADC_Channel[ AddressSub - 17 ];
}
else if( AddressSub > 20 && AddressSub < 25 )
{
AdcAddrID = AddrI2C_ADC[5];
AdcAddrOP = ADC_Channel[ AddressSub - 21 ];
}
else if( AddressSub > 24 && AddressSub < 29 )
{
AdcAddrID = AddrI2C_ADC[6];
AdcAddrOP = ADC_Channel[ AddressSub - 25 ];
}
else if( AddressSub > 28 && AddressSub < 33 )
{
AdcAddrID = AddrI2C_ADC[7];
AdcAddrOP = ADC_Channel[ AddressSub - 29 ];
}
for( j = 0;j < SubStatus ;j ++ )
{
i2c_start();
if ( i2c_write(AdcAddrID)==0 )
{
i2c_write( AdcAddrOP );
i2c_stop();
i2c_start();
i2c_write( AdcAddrID|1 );
i2c_read(1);
dat=i2c_read(0);
}
i2c_stop();
AdcBuff = AdcBuff + dat;
delay_ms( 5 );
}
dat = ( AdcBuff/SubStatus );
return( dat );
}
/*******************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -