112 of 307
ZBasic System Library 102 ZX Microcontroller Family GetADC (function form) Type Function returning Integer Invocation GetADC(pin) Parameter Method Type Description pin ByVal Byte The pin from which to read an analog voltage. Discussion This function performs an analog-to-digital conversion of the voltage present on the specified pin which must be one of the analog port pins (see the table below). The return value will be a 10-bit digital approximation of the input voltage with a range from zero to the AVcc reference voltage (usually +5 volts). The return value represents the measured voltage voltage according to the formula V ref * adcVal / 1024 where V ref is the AVcc reference voltage and adcVal is the value returned by GetADC(). You must make the specified pin an input before calling this routine. The conversion is performed using the AVcc reference voltage (connected internally to Vcc on the ZX-24, ZX-24a, ZX-24p, ZX-24n, ZX-24e, ZX-24ae, ZX-24pe, ZX-24ne, ZX-328nu, ZX-128e, ZX-128ne, ZX- 1281e and ZX-1281ne). Resource Usage The ZX processors contain a single analog-to-digital converter thus allowing only one converstion to be performed at a time. The conversion process takes approximately 220uS during which time the calling task will be wait for conversion completion. Only analog port pins may be used to perform an analog-to-digital conversion. The analog port pins vary depending on the ZX model and some ZX models have more analog input pins available. Also, on some devices (e.g. ZX-32n, ZX-32l and ZX-328nu) some of the pins are dedicated analog inputs; they have no digital functions. Analog Ports and Pins ZX Models Port Pins Port Pins ZX-24, ZX-24a, ZX-24p, ZX-24n PortA 13-20 - - ZX-40, ZX-40a, ZX-40p, ZX-40n PortA 33-40 - - ZX-44, ZX-44a, ZX-44p, ZX-44n PortA 30-37 - - ZX-328n, ZX-328l PortC 23-28 - - ZX-32n, ZX-32l PortC 23-28, 19, 22 - - ZX-1281, ZX-1281n PortF 54-61 - - ZX-1280, ZX-1280n PortF 90-97 PortK 82-89 ZX-24e, ZX-24ae, ZX-24pe, ZX-24ne PortA 29-36 - - ZX-128e, ZX-128ne, ZX-1281e, ZX-1281ne PortF 29-36 - - ZX-328nu PortC 17-24 - - Compatibility Although the BasicX manual indicates that that it is not necessary to configure the pin to be an input before calling, tests indicate that it is, in fact, necessary to do so. Consequently, the behavior of this implementation matches the actual behavior of the BasicX platform.