سلام به همگی ....
این برنامه تو خود codevison هست تو exampel من یه نگاه روش کردم قسمت تابع read_adc رو نفهمیدم یه جونمرد پیدا میشه منو کمک کنه :cry2:
اگه لطف کنید از خط اولش توضیح بدین ممنون میشم
این خود تابع هست
unsigned read_adc(void)
{
unsigned result; اینجا متغیرمون از چه نوعیه؟(result )
// start conversion in mode 1
// (high sampling performance)
NCONVST=0;
NCONVST=1;
// wait for the conversion to complete
while (ADC_BUSY);
// read the MSB using SPI
result=(unsigned) spi(0)<<8; این خط رو هم نفهمیدم :angry:
// read the LSB using SPI and combine with MSB
result|=spi(0); اینم با msb جمع شده چرا اینجا (spi(0 ولی اون بالا 8>>(0 ) spi هست؟
// calculate the voltage in [mV]
result= (unsigned) (((unsigned long) result*VREF)/4096L); اینجا طریقه محاسبه ولتاژو فهمیدم ولی این (unsigned) (((unsigned long) چه نقشی داره؟
// return the measured voltage
return result;
}
خدا خیرتون بده فقط جواب بدین .... :bye
اینم برنامه اصلی
http://persiandrive.net/632840
این برنامه تو خود codevison هست تو exampel من یه نگاه روش کردم قسمت تابع read_adc رو نفهمیدم یه جونمرد پیدا میشه منو کمک کنه :cry2:
اگه لطف کنید از خط اولش توضیح بدین ممنون میشم
این خود تابع هست
unsigned read_adc(void)
{
unsigned result; اینجا متغیرمون از چه نوعیه؟(result )
// start conversion in mode 1
// (high sampling performance)
NCONVST=0;
NCONVST=1;
// wait for the conversion to complete
while (ADC_BUSY);
// read the MSB using SPI
result=(unsigned) spi(0)<<8; این خط رو هم نفهمیدم :angry:
// read the LSB using SPI and combine with MSB
result|=spi(0); اینم با msb جمع شده چرا اینجا (spi(0 ولی اون بالا 8>>(0 ) spi هست؟
// calculate the voltage in [mV]
result= (unsigned) (((unsigned long) result*VREF)/4096L); اینجا طریقه محاسبه ولتاژو فهمیدم ولی این (unsigned) (((unsigned long) چه نقشی داره؟
// return the measured voltage
return result;
}
خدا خیرتون بده فقط جواب بدین .... :bye
اینم برنامه اصلی
http://persiandrive.net/632840
دیدگاه